import { loadConfig } from "../config/config.js";
import type { WalletChain, WalletProviderId } from "../config/types.wallet.js";
import { resolveWalletRuntimeConfig } from "../wallet/wallet-runtime-config.js";
import { createOrExecuteWalletSend, type WalletSendApprovalPayload } from "../wallet/wallet-send-approvals.js";
type SettlementIntent = {
    payload: WalletSendApprovalPayload;
    invoiceId?: string;
};
export declare function extractA2aSettlementIntent(taskInput: unknown): SettlementIntent | null;
export type A2aSettlementResult = {
    status: "skipped" | "queued" | "executed" | "failed";
    mode?: "manual" | "autonomous";
    requestId?: string;
    txHash?: string;
    invoiceId?: string;
    providerId?: WalletProviderId;
    walletId?: string;
    walletName?: string;
    chain?: WalletChain;
    amount?: string;
    reason?: string;
};
type A2aSettlementDeps = {
    loadConfig: typeof loadConfig;
    resolveWalletRuntimeConfig: typeof resolveWalletRuntimeConfig;
    createOrExecuteWalletSend: typeof createOrExecuteWalletSend;
};
export declare function orchestrateA2aTaskSettlement(params: {
    taskId: string;
    taskInput: unknown;
    senderHandle: string;
    env?: NodeJS.ProcessEnv;
    actor?: string;
    deps?: Partial<A2aSettlementDeps>;
}): Promise<A2aSettlementResult>;
export {};
