import { EscrowClient } from './client.js';
import { EventEmitter } from './emitter.js';
import { ContractData } from '../../types/index.js';
export declare class EscrowContract extends EventEmitter {
    readonly _client: EscrowClient;
    readonly _data: ContractData;
    constructor(client: EscrowClient, contract: ContractData);
    get agent(): {
        id: string;
        pk: string;
        pn: string;
    };
    get cid(): string;
    get client(): EscrowClient;
    get data(): ContractData;
    get date(): {
        activated: number | null;
        deadline: number;
        expires_at: number | null;
        published: number;
        updated_at: number;
    };
    get funds(): {
        balance: number;
        fees: import("../../types/proposal.js").PaymentEntry[];
        pending: number;
        total: number;
    };
    get moderator(): string | null;
    get outputs(): import("../../types/contract.js").SpendTemplate[];
    get prop_id(): string;
    get status(): import("../../types/contract.js").ContractStatus;
    get terms(): import("../../types/proposal.js").ProposalData;
    get vm_state(): import("../../types/vm.js").StateData | null;
    toJSON(): ContractData;
}
