import { EscrowSigner } from '../../client/class/signer.js';
import { AccountDataResponse, ApiResponse, ContractData, CovenantData, DepositAccount, DepositData, ReturnData, TxOutput } from '../../types/index.js';
export declare function request_account_api(client: EscrowSigner): (locktime: number) => Promise<ApiResponse<AccountDataResponse>>;
export declare function verify_account_api(signer: EscrowSigner): (account: DepositAccount) => void;
export declare function register_utxo_api(client: EscrowSigner): (account: DepositAccount, utxo: TxOutput, txfee?: number) => Promise<string>;
export declare function commit_utxo_api(client: EscrowSigner): (account: DepositAccount, contract: ContractData, utxo: TxOutput) => Promise<CovenantData>;
export declare function commit_deposit_api(client: EscrowSigner): (contract: ContractData, deposit: DepositData) => Promise<CovenantData>;
export declare function close_deposit_api(client: EscrowSigner): (deposit: DepositData, txfee: number, address?: string) => Promise<ReturnData>;
export default function (client: EscrowSigner): {
    request_account: (locktime: number) => Promise<ApiResponse<AccountDataResponse>>;
    verify_account: (account: DepositAccount) => void;
    register_utxo: (account: DepositAccount, utxo: TxOutput, txfee?: number | undefined) => Promise<string>;
    commit_utxo: (account: DepositAccount, contract: ContractData, utxo: TxOutput) => Promise<CovenantData>;
    commit_deposit: (contract: ContractData, deposit: DepositData) => Promise<CovenantData>;
    close_deposit: (deposit: DepositData, txfee: number, address?: string | undefined) => Promise<ReturnData>;
};
