import type { WalletChain, WalletProviderId } from "../config/types.wallet.js";
export type WalletSettlementLinkStatus = "pending" | "executed" | "failed" | "rejected";
export type WalletSettlementLink = {
    requestId: string;
    taskId: string;
    invoiceId?: string;
    senderHandle?: string;
    providerId?: WalletProviderId;
    walletId?: string;
    walletName?: string;
    chain?: WalletChain;
    amount?: string;
    to?: string;
    contract?: string;
    program?: string;
    mode: "manual" | "autonomous";
    status: WalletSettlementLinkStatus;
    txHash?: string;
    reason?: string;
    createdAt: string;
    updatedAt: string;
};
export declare function upsertWalletSettlementLink(params: {
    requestId: string;
    taskId: string;
    invoiceId?: string;
    senderHandle?: string;
    providerId?: WalletProviderId;
    walletId?: string;
    walletName?: string;
    chain?: WalletChain;
    amount?: string;
    to?: string;
    contract?: string;
    program?: string;
    mode?: "manual" | "autonomous";
    status?: WalletSettlementLinkStatus;
    txHash?: string;
    reason?: string;
    env?: NodeJS.ProcessEnv;
}): WalletSettlementLink;
export declare function getWalletSettlementLinkByRequestId(params: {
    requestId: string;
    env?: NodeJS.ProcessEnv;
}): WalletSettlementLink | null;
export declare function markWalletSettlementLinkOutcome(params: {
    requestId: string;
    status: WalletSettlementLinkStatus;
    txHash?: string;
    reason?: string;
    env?: NodeJS.ProcessEnv;
}): WalletSettlementLink | null;
export declare function listWalletSettlementLinks(params?: {
    env?: NodeJS.ProcessEnv;
    limit?: number;
    taskId?: string;
}): WalletSettlementLink[];
