import { z } from 'zod';
import { normalizeCodexBackendMode as normalizeCanonicalCodexBackendMode, type CodexBackendMode as CanonicalCodexBackendMode } from '@happier-dev/protocol';
import type { ProviderSettingsDefinition } from '../types.js';
export type CodexBackendMode = CanonicalCodexBackendMode;
export declare const normalizeCodexBackendMode: typeof normalizeCanonicalCodexBackendMode;
export declare const CODEX_PROVIDER_FIELDS: {
    readonly codexBackendMode: {
        readonly schema: z.ZodPipe<z.ZodEnum<{
            mcp: "mcp";
            acp: "acp";
            appServer: "appServer";
            mcp_resume: "mcp_resume";
        }>, z.ZodTransform<"mcp" | "acp" | "appServer", "mcp" | "acp" | "appServer" | "mcp_resume">>;
        readonly default: "appServer";
        readonly description: "Preferred Codex backend mode";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "enum";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
};
export declare const CODEX_PROVIDER_SETTINGS_DEFAULTS: Readonly<{
    readonly codexBackendMode: "mcp" | "acp" | "appServer";
}>;
export declare function buildCodexProviderSettingsShape(_zod: typeof z): {
    readonly codexBackendMode: z.ZodPipe<z.ZodEnum<{
        mcp: "mcp";
        acp: "acp";
        appServer: "appServer";
        mcp_resume: "mcp_resume";
    }>, z.ZodTransform<"mcp" | "acp" | "appServer", "mcp" | "acp" | "appServer" | "mcp_resume">>;
};
export declare function resolveCodexRuntimeBackendMode(params: Readonly<{
    codexBackendMode?: unknown;
    experimentalCodexAcp?: boolean;
    defaultBackendMode?: CodexBackendMode | null;
}>): CodexBackendMode | null;
export declare function resolveCodexSpawnExtrasFromSettings(settings: Readonly<Record<string, unknown>>): Readonly<{
    codexBackendMode?: CodexBackendMode;
    experimentalCodexAcp?: boolean;
}>;
export declare function isCodexVendorResumeBackendEnabled(settings: Readonly<Record<string, unknown>>): boolean;
export declare const CODEX_PROVIDER_SETTINGS_DEFINITION: ProviderSettingsDefinition;
//# sourceMappingURL=codex.d.ts.map