import { DepositData, DepositStatus } from '../../types/index.js';
import { EscrowClient } from './client.js';
import { EventEmitter } from './emitter.js';
interface EscrowDepositConfig {
    refresh_ival: number;
    verbose: boolean;
}
export declare class EscrowDeposit extends EventEmitter<{
    'error': unknown;
    'update': EscrowDeposit;
}> {
    readonly _client: EscrowClient;
    readonly _opt: EscrowDepositConfig;
    _data: DepositData;
    _updated: number;
    constructor(client: EscrowClient, deposit: DepositData, config?: Partial<EscrowDepositConfig>);
    get dpid(): string;
    get client(): EscrowClient;
    get data(): DepositData;
    get opt(): EscrowDepositConfig;
    get is_stale(): boolean;
    get status(): DepositStatus;
    get updated_at(): number;
    _digest(): Promise<DepositData>;
    _fetch(): Promise<void>;
    _read(): Promise<DepositData>;
    _status(): Promise<import("../../types/index.js").RecordStatus<DepositStatus>>;
    _update(): Promise<void>;
    close(): Promise<void>;
    fetch(): Promise<this>;
    poll(status: DepositStatus, interval: number, retries: number): Promise<unknown>;
    lock(): Promise<void>;
    toJSON(): DepositData;
    toString(): string;
}
export {};
