import { SignerConfig } from '../../client/types.js';
import { EscrowClient } from './client.js';
import { CredSignerAPI, WalletAPI } from '../../types/index.js';
export declare class EscrowSigner {
    static load(password: string, payload: string): EscrowSigner;
    readonly _client: EscrowClient;
    readonly _gen_idx: () => number;
    readonly _signer: CredSignerAPI;
    readonly _wallet: WalletAPI;
    constructor(config: SignerConfig);
    get client(): EscrowClient;
    get pubkey(): string;
    deposit: {
        register_utxo: (account: import("../../types/index.js").DepositAccount, utxo: import("../../types/index.js").TxOutput, txfee?: number | undefined) => Promise<string>;
        commit_utxo: (account: import("../../types/index.js").DepositAccount, contract: import("../../types/index.js").ContractData, utxo: import("../../types/index.js").TxOutput) => Promise<import("../../types/index.js").CovenantData>;
        commit_deposit: (contract: import("../../types/index.js").ContractData, deposit: import("../../types/index.js").DepositData) => Promise<import("../../types/index.js").CovenantData>;
        commit_return: (deposit: import("../../types/index.js").DepositData, txfee: number, address?: string | undefined) => Promise<import("../../types/index.js").ReturnData>;
    };
    endorse: {
        proposal: (proposal: import("../../types/index.js").ProposalData | import("./proposal.js").EscrowProposal) => string;
        request: (url: string, body?: string, method?: string) => string;
        witness: (contract: import("../../types/index.js").ContractData | import("./contract.js").EscrowContract, witness: import("../../types/index.js").WitnessData) => import("../../types/index.js").WitnessData;
    };
    request: {
        contracts: () => string;
        deposits: () => string;
    };
    gen_membership: (index?: number | undefined) => import("../../types/index.js").MemberData;
    get_membership: (proposal: import("../../types/index.js").ProposalData | import("./proposal.js").EscrowProposal) => import("../../client/types.js").Membership;
    has_membership: (proposal: import("../../types/index.js").ProposalData | import("./proposal.js").EscrowProposal) => boolean;
    save(password: string): string;
}
