import { z } from 'zod';
export declare const MemoryHintsSettingsV1Schema: z.ZodObject<{
    summarizerBackendId: z.ZodDefault<z.ZodString>;
    summarizerModelId: z.ZodDefault<z.ZodString>;
    summarizerPermissionMode: z.ZodDefault<z.ZodEnum<{
        read_only: "read_only";
        no_tools: "no_tools";
    }>>;
    windowSizeMessages: z.ZodDefault<z.ZodNumber>;
    maxShardChars: z.ZodDefault<z.ZodNumber>;
    maxSummaryChars: z.ZodDefault<z.ZodNumber>;
    paddingMessagesOnVerify: z.ZodDefault<z.ZodNumber>;
    updateMode: z.ZodDefault<z.ZodEnum<{
        onIdle: "onIdle";
        continuous: "continuous";
    }>>;
    idleDelayMs: z.ZodDefault<z.ZodNumber>;
    maxRunsPerHour: z.ZodDefault<z.ZodNumber>;
    failureBackoffBaseMs: z.ZodDefault<z.ZodNumber>;
    failureBackoffMaxMs: z.ZodDefault<z.ZodNumber>;
    maxShardsPerSession: z.ZodDefault<z.ZodNumber>;
    maxKeywords: z.ZodDefault<z.ZodNumber>;
    maxEntities: z.ZodDefault<z.ZodNumber>;
    maxDecisions: z.ZodDefault<z.ZodNumber>;
}, z.core.$loose>;
export type MemoryHintsSettingsV1 = z.infer<typeof MemoryHintsSettingsV1Schema>;
export declare const MemoryDeepSettingsV1Schema: z.ZodObject<{
    recentDays: z.ZodDefault<z.ZodNumber>;
    maxChunkChars: z.ZodDefault<z.ZodNumber>;
    maxChunkMessages: z.ZodDefault<z.ZodNumber>;
    minChunkMessages: z.ZodDefault<z.ZodNumber>;
    includeAssistantAcpMessage: z.ZodDefault<z.ZodBoolean>;
    includeToolOutput: z.ZodDefault<z.ZodBoolean>;
    candidateLimit: z.ZodDefault<z.ZodNumber>;
    previewChars: z.ZodDefault<z.ZodNumber>;
    failureBackoffBaseMs: z.ZodDefault<z.ZodNumber>;
    failureBackoffMaxMs: z.ZodDefault<z.ZodNumber>;
}, z.core.$loose>;
export type MemoryDeepSettingsV1 = z.infer<typeof MemoryDeepSettingsV1Schema>;
export declare const MemoryEmbeddingsSettingsV1Schema: z.ZodObject<{
    enabled: z.ZodDefault<z.ZodBoolean>;
    provider: z.ZodDefault<z.ZodEnum<{
        remote: "remote";
        local_transformers: "local_transformers";
    }>>;
    modelId: z.ZodDefault<z.ZodString>;
    wFts: z.ZodDefault<z.ZodNumber>;
    wEmb: z.ZodDefault<z.ZodNumber>;
}, z.core.$loose>;
export type MemoryEmbeddingsSettingsV1 = z.infer<typeof MemoryEmbeddingsSettingsV1Schema>;
export declare const MemoryEmbeddingsPresetIdSchema: z.ZodEnum<{
    balanced: "balanced";
    long_context: "long_context";
    quality: "quality";
}>;
export type MemoryEmbeddingsPresetId = z.infer<typeof MemoryEmbeddingsPresetIdSchema>;
export declare const MemoryEmbeddingsModeSchema: z.ZodEnum<{
    custom: "custom";
    disabled: "disabled";
    preset: "preset";
}>;
export type MemoryEmbeddingsMode = z.infer<typeof MemoryEmbeddingsModeSchema>;
export declare const MemoryEmbeddingsBlendSchema: z.ZodObject<{
    ftsWeight: z.ZodDefault<z.ZodNumber>;
    embeddingWeight: z.ZodDefault<z.ZodNumber>;
}, z.core.$loose>;
export type MemoryEmbeddingsBlend = z.infer<typeof MemoryEmbeddingsBlendSchema>;
export declare const MemoryEmbeddingsLocalTransformersConfigSchema: z.ZodObject<{
    kind: z.ZodLiteral<"local_transformers">;
    modelId: z.ZodDefault<z.ZodString>;
    queryPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
    documentPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, z.core.$loose>;
export type MemoryEmbeddingsLocalTransformersConfig = z.infer<typeof MemoryEmbeddingsLocalTransformersConfigSchema>;
export declare const MemoryEmbeddingsOpenAiCompatibleConfigSchema: z.ZodObject<{
    kind: z.ZodLiteral<"openai_compatible">;
    baseUrl: z.ZodDefault<z.ZodNullable<z.ZodString>>;
    apiKey: z.ZodDefault<z.ZodNullable<z.ZodObject<{
        _isSecretValue: z.ZodLiteral<true>;
        value: z.ZodOptional<z.ZodString>;
        encryptedValue: z.ZodOptional<z.ZodObject<{
            t: z.ZodLiteral<"enc-v1">;
            c: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
    model: z.ZodDefault<z.ZodString>;
    dimensions: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
}, z.core.$loose>;
export type MemoryEmbeddingsOpenAiCompatibleConfig = z.infer<typeof MemoryEmbeddingsOpenAiCompatibleConfigSchema>;
export declare const MemoryEmbeddingsCustomConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    kind: z.ZodLiteral<"local_transformers">;
    modelId: z.ZodDefault<z.ZodString>;
    queryPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
    documentPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, z.core.$loose>, z.ZodObject<{
    kind: z.ZodLiteral<"openai_compatible">;
    baseUrl: z.ZodDefault<z.ZodNullable<z.ZodString>>;
    apiKey: z.ZodDefault<z.ZodNullable<z.ZodObject<{
        _isSecretValue: z.ZodLiteral<true>;
        value: z.ZodOptional<z.ZodString>;
        encryptedValue: z.ZodOptional<z.ZodObject<{
            t: z.ZodLiteral<"enc-v1">;
            c: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
    model: z.ZodDefault<z.ZodString>;
    dimensions: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
}, z.core.$loose>], "kind">;
export type MemoryEmbeddingsCustomConfig = z.infer<typeof MemoryEmbeddingsCustomConfigSchema>;
export declare const MemoryEmbeddingsSettingsV2Schema: z.ZodObject<{
    mode: z.ZodDefault<z.ZodEnum<{
        custom: "custom";
        disabled: "disabled";
        preset: "preset";
    }>>;
    presetId: z.ZodDefault<z.ZodEnum<{
        balanced: "balanced";
        long_context: "long_context";
        quality: "quality";
    }>>;
    custom: z.ZodDefault<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodLiteral<"local_transformers">;
        modelId: z.ZodDefault<z.ZodString>;
        queryPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
        documentPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        kind: z.ZodLiteral<"openai_compatible">;
        baseUrl: z.ZodDefault<z.ZodNullable<z.ZodString>>;
        apiKey: z.ZodDefault<z.ZodNullable<z.ZodObject<{
            _isSecretValue: z.ZodLiteral<true>;
            value: z.ZodOptional<z.ZodString>;
            encryptedValue: z.ZodOptional<z.ZodObject<{
                t: z.ZodLiteral<"enc-v1">;
                c: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>>;
        model: z.ZodDefault<z.ZodString>;
        dimensions: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
    }, z.core.$loose>], "kind">>>;
    blend: z.ZodDefault<z.ZodObject<{
        ftsWeight: z.ZodDefault<z.ZodNumber>;
        embeddingWeight: z.ZodDefault<z.ZodNumber>;
    }, z.core.$loose>>;
}, z.core.$loose>;
export type MemoryEmbeddingsSettingsV2 = z.infer<typeof MemoryEmbeddingsSettingsV2Schema>;
export declare function normalizeMemoryEmbeddingsSettings(raw: unknown): MemoryEmbeddingsSettingsV2;
export declare const MemoryBudgetsSettingsV1Schema: z.ZodObject<{
    maxDiskMbLight: z.ZodDefault<z.ZodNumber>;
    maxDiskMbDeep: z.ZodDefault<z.ZodNumber>;
}, z.core.$loose>;
export type MemoryBudgetsSettingsV1 = z.infer<typeof MemoryBudgetsSettingsV1Schema>;
export declare const MemoryWorkerSettingsV1Schema: z.ZodObject<{
    tickIntervalMs: z.ZodDefault<z.ZodNumber>;
    inventoryRefreshIntervalMs: z.ZodDefault<z.ZodNumber>;
    maxSessionsPerTick: z.ZodDefault<z.ZodNumber>;
    sessionListPageLimit: z.ZodDefault<z.ZodNumber>;
}, z.core.$loose>;
export type MemoryWorkerSettingsV1 = z.infer<typeof MemoryWorkerSettingsV1Schema>;
export declare const MemorySettingsV1Schema: z.ZodObject<{
    v: z.ZodLiteral<1>;
    enabled: z.ZodDefault<z.ZodBoolean>;
    enabledAtMs: z.ZodDefault<z.ZodNumber>;
    indexMode: z.ZodDefault<z.ZodEnum<{
        hints: "hints";
        deep: "deep";
    }>>;
    defaultScope: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"global">;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"session">;
    }, z.core.$loose>], "type">>;
    backfillPolicy: z.ZodDefault<z.ZodEnum<{
        new_only: "new_only";
        last_30_days: "last_30_days";
        all_history: "all_history";
    }>>;
    deleteOnDisable: z.ZodDefault<z.ZodBoolean>;
    hints: z.ZodPrefault<z.ZodObject<{
        summarizerBackendId: z.ZodDefault<z.ZodString>;
        summarizerModelId: z.ZodDefault<z.ZodString>;
        summarizerPermissionMode: z.ZodDefault<z.ZodEnum<{
            read_only: "read_only";
            no_tools: "no_tools";
        }>>;
        windowSizeMessages: z.ZodDefault<z.ZodNumber>;
        maxShardChars: z.ZodDefault<z.ZodNumber>;
        maxSummaryChars: z.ZodDefault<z.ZodNumber>;
        paddingMessagesOnVerify: z.ZodDefault<z.ZodNumber>;
        updateMode: z.ZodDefault<z.ZodEnum<{
            onIdle: "onIdle";
            continuous: "continuous";
        }>>;
        idleDelayMs: z.ZodDefault<z.ZodNumber>;
        maxRunsPerHour: z.ZodDefault<z.ZodNumber>;
        failureBackoffBaseMs: z.ZodDefault<z.ZodNumber>;
        failureBackoffMaxMs: z.ZodDefault<z.ZodNumber>;
        maxShardsPerSession: z.ZodDefault<z.ZodNumber>;
        maxKeywords: z.ZodDefault<z.ZodNumber>;
        maxEntities: z.ZodDefault<z.ZodNumber>;
        maxDecisions: z.ZodDefault<z.ZodNumber>;
    }, z.core.$loose>>;
    deep: z.ZodPrefault<z.ZodObject<{
        recentDays: z.ZodDefault<z.ZodNumber>;
        maxChunkChars: z.ZodDefault<z.ZodNumber>;
        maxChunkMessages: z.ZodDefault<z.ZodNumber>;
        minChunkMessages: z.ZodDefault<z.ZodNumber>;
        includeAssistantAcpMessage: z.ZodDefault<z.ZodBoolean>;
        includeToolOutput: z.ZodDefault<z.ZodBoolean>;
        candidateLimit: z.ZodDefault<z.ZodNumber>;
        previewChars: z.ZodDefault<z.ZodNumber>;
        failureBackoffBaseMs: z.ZodDefault<z.ZodNumber>;
        failureBackoffMaxMs: z.ZodDefault<z.ZodNumber>;
    }, z.core.$loose>>;
    embeddings: z.ZodPrefault<z.ZodPipe<z.ZodTransform<{
        [x: string]: unknown;
        mode: "custom" | "disabled" | "preset";
        presetId: "balanced" | "long_context" | "quality";
        custom: {
            [x: string]: unknown;
            kind: "local_transformers";
            modelId: string;
            queryPrefix: string | null;
            documentPrefix: string | null;
        } | {
            [x: string]: unknown;
            kind: "openai_compatible";
            baseUrl: string | null;
            apiKey: {
                _isSecretValue: true;
                value?: string | undefined;
                encryptedValue?: {
                    t: "enc-v1";
                    c: string;
                } | undefined;
            } | null;
            model: string;
            dimensions: number | null;
        } | null;
        blend: {
            [x: string]: unknown;
            ftsWeight: number;
            embeddingWeight: number;
        };
    }, unknown>, z.ZodObject<{
        mode: z.ZodDefault<z.ZodEnum<{
            custom: "custom";
            disabled: "disabled";
            preset: "preset";
        }>>;
        presetId: z.ZodDefault<z.ZodEnum<{
            balanced: "balanced";
            long_context: "long_context";
            quality: "quality";
        }>>;
        custom: z.ZodDefault<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"local_transformers">;
            modelId: z.ZodDefault<z.ZodString>;
            queryPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
            documentPrefix: z.ZodDefault<z.ZodNullable<z.ZodString>>;
        }, z.core.$loose>, z.ZodObject<{
            kind: z.ZodLiteral<"openai_compatible">;
            baseUrl: z.ZodDefault<z.ZodNullable<z.ZodString>>;
            apiKey: z.ZodDefault<z.ZodNullable<z.ZodObject<{
                _isSecretValue: z.ZodLiteral<true>;
                value: z.ZodOptional<z.ZodString>;
                encryptedValue: z.ZodOptional<z.ZodObject<{
                    t: z.ZodLiteral<"enc-v1">;
                    c: z.ZodString;
                }, z.core.$strip>>;
            }, z.core.$strip>>>;
            model: z.ZodDefault<z.ZodString>;
            dimensions: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
        }, z.core.$loose>], "kind">>>;
        blend: z.ZodDefault<z.ZodObject<{
            ftsWeight: z.ZodDefault<z.ZodNumber>;
            embeddingWeight: z.ZodDefault<z.ZodNumber>;
        }, z.core.$loose>>;
    }, z.core.$loose>>>;
    budgets: z.ZodPrefault<z.ZodObject<{
        maxDiskMbLight: z.ZodDefault<z.ZodNumber>;
        maxDiskMbDeep: z.ZodDefault<z.ZodNumber>;
    }, z.core.$loose>>;
    worker: z.ZodPrefault<z.ZodObject<{
        tickIntervalMs: z.ZodDefault<z.ZodNumber>;
        inventoryRefreshIntervalMs: z.ZodDefault<z.ZodNumber>;
        maxSessionsPerTick: z.ZodDefault<z.ZodNumber>;
        sessionListPageLimit: z.ZodDefault<z.ZodNumber>;
    }, z.core.$loose>>;
}, z.core.$loose>;
export type MemorySettingsV1 = z.infer<typeof MemorySettingsV1Schema>;
export declare const DEFAULT_MEMORY_SETTINGS: MemorySettingsV1;
export declare function normalizeMemorySettings(raw: unknown): MemorySettingsV1;
//# sourceMappingURL=memorySettings.d.ts.map