import type { FasedAgentConfig } from "../config/config.js";
import type { WalletProviderId } from "../config/types.wallet.js";
import type { ResolvedWalletRuntimeConfig } from "./wallet-runtime-config.js";
import type { WalletStatusSnapshot } from "./wallet-status.js";
export type WalletCanaryCheck = {
    id: string;
    ok: boolean;
    required: boolean;
    message: string;
};
export type WalletCanaryReport = {
    ok: boolean;
    checkedAt: string;
    requireRealChain: boolean;
    checks: WalletCanaryCheck[];
};
export type WalletProviderCanaryStep = {
    id: string;
    ok: boolean;
    required: boolean;
    message: string;
};
export type WalletProviderCanaryResult = {
    providerId: WalletProviderId;
    ok: boolean;
    steps: WalletProviderCanaryStep[];
};
export type WalletProviderCanaryReport = {
    ok: boolean;
    checkedAt: string;
    executeLiveSend: boolean;
    providers: WalletProviderCanaryResult[];
};
export declare function buildWalletCanaryReport(params: {
    status: WalletStatusSnapshot;
    requireRealChain?: boolean;
    parity?: ({
        ok: boolean;
    } & Record<string, unknown>) | null;
}): WalletCanaryReport;
export declare function runWalletProviderCanaryReport(params: {
    cfg: FasedAgentConfig;
    wallet: ResolvedWalletRuntimeConfig;
    env?: NodeJS.ProcessEnv;
    providers?: WalletProviderId[];
    executeLiveSend?: boolean;
}): Promise<WalletProviderCanaryReport>;
