import { TransactionData } from '../value-objects/transaction-data';
import { TransactionMethod } from '../value-objects/transaction-method';
import { TransactionStatus } from '../value-objects/transaction-status';
export declare class Transaction {
    readonly id: string;
    readonly hash: string;
    readonly status: TransactionStatus;
    readonly block: number | null;
    readonly networkId: string;
    readonly timestamp: Date;
    readonly from: string | null;
    readonly to: string | null;
    readonly interactedWith: string | null;
    readonly value: string;
    readonly fee: string | null;
    readonly gasPrice: string | null;
    readonly gasLimit: number | null;
    readonly method: TransactionMethod;
    readonly data: TransactionData[];
    readonly createdAt: Date;
    readonly updatedAt: Date;
    readonly fromAddress: string | null;
    readonly toAddress: string | null;
    constructor(id: string, hash: string, status: TransactionStatus, block: number | null, networkId: string, timestamp: Date, from: string | null, to: string | null, interactedWith: string | null, value: string, fee: string | null, gasPrice: string | null, gasLimit: number | null, method: TransactionMethod, data: TransactionData[], createdAt: Date, updatedAt: Date, fromAddress?: string | null, toAddress?: string | null);
    static create(id: string, hash: string, status: TransactionStatus, block: number | null, networkId: string, timestamp: Date, from: string | null, to: string | null, interactedWith: string | null, value: string, fee: string | null, gasPrice: string | null, gasLimit: number | null, method: TransactionMethod, data: TransactionData[]): Transaction;
    updateStatus(status: TransactionStatus, block?: number): Transaction;
}
//# sourceMappingURL=transaction.d.ts.map