import type { FasedAgentConfig } from "../config/config.js";
import type { WalletRuntimeConfig, WalletProviderId } from "../config/types.wallet.js";
import type { HostSetupProfile, WizardFlow } from "./onboarding.types.js";
import type { WizardPrompter } from "./prompts.js";
export declare function resolveSignerdBinaryPath(env?: NodeJS.ProcessEnv): string;
export declare function installSignerdBinary(binPath: string): void;
export declare function shouldSyncLocalSocketSignerFromConfig(params?: {
    config?: FasedAgentConfig;
    env?: NodeJS.ProcessEnv;
}): boolean;
export declare function renderLocalSignerEnvFile(params?: {
    config?: FasedAgentConfig;
    env?: NodeJS.ProcessEnv;
}): string;
export declare function writeLocalSignerEnvFile(params?: {
    config?: FasedAgentConfig;
    env?: NodeJS.ProcessEnv;
}): string;
export declare function restartLocalSocketSigner(walletDir?: string, env?: NodeJS.ProcessEnv): Promise<void>;
export declare function syncLocalSocketSignerFromConfig(params?: {
    config?: FasedAgentConfig;
    env?: NodeJS.ProcessEnv;
    restart?: boolean;
}): Promise<{
    performed: boolean;
    restarted: boolean;
    signerEnvPath?: string;
}>;
export declare function migrateLocalSignerKeystoreToMaterialDir(params: {
    keystorePath: string;
    force?: boolean;
}): string;
export declare function applyWalletConfig(base: FasedAgentConfig, runtimeConfig: WalletRuntimeConfig & {
    defaultProviderId?: WalletProviderId;
}): FasedAgentConfig;
export declare function configureWalletForOnboarding(params: {
    flow: WizardFlow;
    forceEnable?: boolean;
    hostProfile?: HostSetupProfile;
    nextConfig: FasedAgentConfig;
    prepareLocalSigner?: (params: {
        binPath: string;
    }) => Promise<void>;
    prompter: WizardPrompter;
}): Promise<FasedAgentConfig>;
