import type { FasedAgentConfig } from "../config/config.js";
import type { FederationMarketplaceOrderConfig } from "../config/types.federation.js";
import { readWalletProviderRegistry } from "../wallet/wallet-provider-registry.js";
import { resolveWalletRuntimeConfig } from "../wallet/wallet-runtime-config.js";
import { createOrExecuteWalletSend } from "../wallet/wallet-send-approvals.js";
import { publishFederationSettlementEvidence } from "./settlement-evidence.js";
export type MarketplaceDirectPaymentDeps = {
    readWalletProviderRegistry: typeof readWalletProviderRegistry;
    resolveWalletRuntimeConfig: typeof resolveWalletRuntimeConfig;
    createOrExecuteWalletSend: typeof createOrExecuteWalletSend;
    publishFederationSettlementEvidence: typeof publishFederationSettlementEvidence;
};
export type MarketplaceDirectPaymentResult = {
    ok: true;
    config: FasedAgentConfig;
    order: FederationMarketplaceOrderConfig;
    mode: "autonomous";
    invoiceId: string;
    receiptId: string;
    txRef: string;
    payerAddress: string;
    evidenceRef?: string;
    message: string;
} | {
    ok: false;
    statusCode: number;
    code: string;
    message: string;
};
export declare function payMarketplaceOrderDirect(params: {
    config: FasedAgentConfig;
    orderId: string;
    walletId?: string;
    env?: NodeJS.ProcessEnv;
    deps?: Partial<MarketplaceDirectPaymentDeps>;
}): Promise<MarketplaceDirectPaymentResult>;
