import z from 'zod';
/**
 * Shared memory configuration schemas for agent storage
 * These schemas match the SerializedMemoryConfig type from @mastra/core
 */
/**
 * Semantic recall configuration for vector-based memory retrieval
 */
export declare const semanticRecallSchema: z.ZodObject<{
    topK: z.ZodNumber;
    messageRange: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
        before: z.ZodNumber;
        after: z.ZodNumber;
    }, z.core.$strip>]>;
    scope: z.ZodOptional<z.ZodEnum<{
        thread: "thread";
        resource: "resource";
    }>>;
    threshold: z.ZodOptional<z.ZodNumber>;
    indexName: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Title generation configuration
 * When stored, the model is serialized as a ModelRouterModelId string (provider/model-name format)
 */
export declare const titleGenerationSchema: z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
    model: z.ZodString;
    instructions: z.ZodOptional<z.ZodString>;
}, z.core.$strip>]>;
/**
 * Observation step configuration for observational memory
 */
export declare const serializedObservationConfigSchema: z.ZodObject<{
    model: z.ZodOptional<z.ZodString>;
    messageTokens: z.ZodOptional<z.ZodNumber>;
    modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
    maxTokensPerBatch: z.ZodOptional<z.ZodNumber>;
    bufferTokens: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>>;
    bufferActivation: z.ZodOptional<z.ZodNumber>;
    blockAfter: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
 * Reflection step configuration for observational memory
 */
export declare const serializedReflectionConfigSchema: z.ZodObject<{
    model: z.ZodOptional<z.ZodString>;
    observationTokens: z.ZodOptional<z.ZodNumber>;
    modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
    blockAfter: z.ZodOptional<z.ZodNumber>;
    bufferActivation: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
 * Serialized observational memory configuration
 */
export declare const serializedObservationalMemoryConfigObjectSchema: z.ZodObject<{
    model: z.ZodOptional<z.ZodString>;
    scope: z.ZodOptional<z.ZodEnum<{
        thread: "thread";
        resource: "resource";
    }>>;
    shareTokenBudget: z.ZodOptional<z.ZodBoolean>;
    observation: z.ZodOptional<z.ZodObject<{
        model: z.ZodOptional<z.ZodString>;
        messageTokens: z.ZodOptional<z.ZodNumber>;
        modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
        maxTokensPerBatch: z.ZodOptional<z.ZodNumber>;
        bufferTokens: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>>;
        bufferActivation: z.ZodOptional<z.ZodNumber>;
        blockAfter: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    reflection: z.ZodOptional<z.ZodObject<{
        model: z.ZodOptional<z.ZodString>;
        observationTokens: z.ZodOptional<z.ZodNumber>;
        modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
        blockAfter: z.ZodOptional<z.ZodNumber>;
        bufferActivation: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const serializedObservationalMemoryConfigSchema: z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
    model: z.ZodOptional<z.ZodString>;
    scope: z.ZodOptional<z.ZodEnum<{
        thread: "thread";
        resource: "resource";
    }>>;
    shareTokenBudget: z.ZodOptional<z.ZodBoolean>;
    observation: z.ZodOptional<z.ZodObject<{
        model: z.ZodOptional<z.ZodString>;
        messageTokens: z.ZodOptional<z.ZodNumber>;
        modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
        maxTokensPerBatch: z.ZodOptional<z.ZodNumber>;
        bufferTokens: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>>;
        bufferActivation: z.ZodOptional<z.ZodNumber>;
        blockAfter: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    reflection: z.ZodOptional<z.ZodObject<{
        model: z.ZodOptional<z.ZodString>;
        observationTokens: z.ZodOptional<z.ZodNumber>;
        modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
        blockAfter: z.ZodOptional<z.ZodNumber>;
        bufferActivation: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strip>]>;
/**
 * Serialized memory configuration matching SerializedMemoryConfig from @mastra/core
 *
 * Note: workingMemory and threads are omitted as they are not part of SerializedMemoryConfig
 * @see packages/core/src/memory/types.ts
 */
export declare const serializedMemoryConfigSchema: z.ZodObject<{
    vector: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
    options: z.ZodOptional<z.ZodObject<{
        readOnly: z.ZodOptional<z.ZodBoolean>;
        lastMessages: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>>;
        semanticRecall: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
            topK: z.ZodNumber;
            messageRange: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
                before: z.ZodNumber;
                after: z.ZodNumber;
            }, z.core.$strip>]>;
            scope: z.ZodOptional<z.ZodEnum<{
                thread: "thread";
                resource: "resource";
            }>>;
            threshold: z.ZodOptional<z.ZodNumber>;
            indexName: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>;
        generateTitle: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
            model: z.ZodString;
            instructions: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>;
    }, z.core.$strip>>;
    embedder: z.ZodOptional<z.ZodString>;
    embedderOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    observationalMemory: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
        model: z.ZodOptional<z.ZodString>;
        scope: z.ZodOptional<z.ZodEnum<{
            thread: "thread";
            resource: "resource";
        }>>;
        shareTokenBudget: z.ZodOptional<z.ZodBoolean>;
        observation: z.ZodOptional<z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            messageTokens: z.ZodOptional<z.ZodNumber>;
            modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
            maxTokensPerBatch: z.ZodOptional<z.ZodNumber>;
            bufferTokens: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>>;
            bufferActivation: z.ZodOptional<z.ZodNumber>;
            blockAfter: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
        reflection: z.ZodOptional<z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            observationTokens: z.ZodOptional<z.ZodNumber>;
            modelSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
            blockAfter: z.ZodOptional<z.ZodNumber>;
            bufferActivation: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
    }, z.core.$strip>]>>;
}, z.core.$strip>;
//# sourceMappingURL=memory-config.d.ts.map