import { AgentRuntime } from "@best-agent/engine";
import type { ProviderConfig } from "@best-agent/protocol";
export type CliPersistedState = Readonly<{
    dimsdk?: {
        providerState?: Record<string, unknown>;
    };
    providerConfig?: ProviderConfig;
}>;
export type CliRuntimeOptions = Readonly<{
    approvalTimeoutMs?: number;
    cwd?: string;
    extensionsRoot?: string;
    guardian?: {
        enabled?: boolean;
        model?: string;
        threshold?: number;
        timeoutMs?: number;
    };
    providerConfig?: ProviderConfig;
    storageRoot?: string;
}>;
export declare function createCliRuntime(options: CliRuntimeOptions): Promise<AgentRuntime>;
export declare function readCliPersistedState(storageRoot: string): CliPersistedState | undefined;
export declare function writeCliPersistedState(storageRoot: string, state: CliPersistedState): void;
export declare function resolveCliStorageRoot(options: {
    cwd?: string;
    storageRoot?: string;
}): string;
export declare function hydrateDimSdkProviderSelection(state: {
    config: {
        model?: unknown;
    };
    provider: Record<string, unknown>;
}, input: Readonly<{
    persistedProviderState?: Record<string, unknown>;
    providerConfig?: ProviderConfig;
}>): void;
export declare function resolveProviderConfigFromDimSdkState(state: Readonly<{
    config?: {
        model?: unknown;
    };
    provider?: Record<string, unknown>;
}>, fallback?: ProviderConfig): ProviderConfig | undefined;
//# sourceMappingURL=runtime.d.ts.map