import { type SpawnSyncOptions } from 'child_process';
export declare const OPENCLAW_KEYCHAIN_ACCOUNT = "openclaw";
export declare const OPENCLAW_KEYCHAIN_PROVIDER = "agents_keychain";
export declare const OPENCLAW_KEYCHAIN_ENV_SERVICES: Record<string, string>;
export interface OpenClawSecretRef {
    source: 'exec';
    provider: string;
    id: string;
}
export interface OpenClawKeychainMigrationOptions {
    account?: string;
    provider?: string;
    agentsBin?: string;
}
export interface OpenClawKeychainMigrationResult {
    services: Array<{
        envKey: string;
        service: string;
        value: string;
    }>;
    replacedPaths: string[];
    removedEnvPaths: string[];
    unsupportedEnvKeys: string[];
    changed: boolean;
}
interface JsonObject {
    [key: string]: unknown;
}
export declare function migrateOpenClawConfigToKeychainRefs(config: JsonObject, opts?: OpenClawKeychainMigrationOptions): OpenClawKeychainMigrationResult;
export declare function buildOpenClawKeychainStoreInvocation(service: string, value: string, account?: string): {
    command: string;
    args: string[];
    options: SpawnSyncOptions & {
        input: string;
        detached: boolean;
    };
};
export declare function storeOpenClawKeychainServices(services: Array<{
    service: string;
    value: string;
}>, account?: string): void;
export declare function readOpenClawKeychainService(service: string, account?: string): string;
export interface OpenClawExecResolverRequest {
    protocolVersion?: number;
    provider?: string;
    ids?: unknown;
}
export interface OpenClawExecResolverResponse {
    protocolVersion: 1;
    values: Record<string, string>;
    errors?: Record<string, {
        code: string;
    }>;
}
export declare function resolveOpenClawKeychainRequest(request: OpenClawExecResolverRequest, lookup: (service: string) => string): OpenClawExecResolverResponse;
export {};
