import type { StorageAgentSnapshotType } from '@mastra/core/storage';
export declare const DEFAULT_MAX_VERSIONS_PER_AGENT = 50;
/**
 * Generates a unique ID for a version using crypto.randomUUID()
 */
export declare function generateVersionId(): string;
/**
 * Compares two agent snapshots and returns an array of field names that changed.
 * Performs deep comparison for nested objects.
 */
export declare function calculateChangedFields(previous: Record<string, unknown> | null | undefined, current: Record<string, unknown>): string[];
/**
 * Enforces version retention limit by deleting oldest versions that exceed the maximum.
 * Never deletes the active version.
 *
 * @param agentsStore - The agents storage domain
 * @param agentId - The agent ID to enforce retention for
 * @param activeVersionId - The active version ID (will never be deleted)
 * @param maxVersions - Maximum number of versions to keep (default: 50)
 */
export declare function enforceRetentionLimit(agentsStore: {
    listVersions: (params: {
        agentId: string;
        page?: number;
        perPage?: number | false;
        orderBy?: {
            field?: 'versionNumber' | 'createdAt';
            direction?: 'ASC' | 'DESC';
        };
    }) => Promise<{
        versions: Array<{
            id: string;
            versionNumber: number;
        }>;
        total: number;
    }>;
    deleteVersion: (id: string) => Promise<void>;
}, agentId: string, activeVersionId: string | undefined | null, maxVersions?: number): Promise<{
    deletedCount: number;
}>;
/**
 * Type for the agents store with version-related methods.
 * Uses generic types to work with any StorageAgentType-compatible structure.
 *
 * AgentVersion config fields are top-level (no nested snapshot object).
 * getLatestVersion returns the version with config fields top-level.
 */
export interface AgentsStoreWithVersions<TAgent = any> {
    getLatestVersion: (agentId: string) => Promise<(StorageAgentSnapshotType & {
        id: string;
        versionNumber: number;
        [key: string]: any;
    }) | null>;
    createVersion: (params: StorageAgentSnapshotType & {
        id: string;
        agentId: string;
        versionNumber: number;
        changedFields?: string[];
        changeMessage?: string;
    }) => Promise<{
        id: string;
        versionNumber: number;
    }>;
    updateAgent: (params: {
        id: string;
        activeVersionId?: string;
        [key: string]: any;
    }) => Promise<TAgent>;
    listVersions: (params: {
        agentId: string;
        page?: number;
        perPage?: number | false;
        orderBy?: {
            field?: 'versionNumber' | 'createdAt';
            direction?: 'ASC' | 'DESC';
        };
    }) => Promise<{
        versions: Array<{
            id: string;
            agentId: string;
            versionNumber: number;
            [key: string]: any;
        }>;
        total: number;
        page: number;
        perPage: number | false;
        hasMore: boolean;
    }>;
    deleteVersion: (id: string) => Promise<void>;
}
/**
 * Creates a new version with retry logic for race condition handling.
 * If a unique constraint violation occurs on versionNumber, retries with a fresh versionNumber.
 *
 * Config fields are passed top-level (not nested in a snapshot object).
 *
 * @param agentsStore - The agents storage domain
 * @param agentId - The agent ID to create a version for
 * @param snapshotConfig - The agent configuration fields (StorageAgentSnapshotType)
 * @param changedFields - Array of field names that changed
 * @param options - Optional settings for the version
 * @param options.changeMessage - Optional description of the changes
 * @param options.maxRetries - Maximum number of retry attempts (default: 3)
 * @returns The created version ID and version number
 */
export declare function createVersionWithRetry<TAgent>(agentsStore: AgentsStoreWithVersions<TAgent>, agentId: string, snapshotConfig: Record<string, unknown>, changedFields: string[], options?: {
    changeMessage?: string;
    maxRetries?: number;
}): Promise<{
    versionId: string;
    versionNumber: number;
}>;
/**
 * Handles auto-versioning after an agent update.
 * Creates a new version with retry logic, then updates the agent's activeVersionId,
 * and finally enforces the retention limit. These are separate operations - if updateAgent
 * fails after version creation, a created-but-not-activated version may remain.
 *
 * @param agentsStore - The agents storage domain
 * @param agentId - The agent ID
 * @param existingAgent - The agent state before the update (thin record)
 * @param updatedAgent - The agent state after the update (thin record)
 * @param configFields - The config fields that were provided in the update (StorageAgentSnapshotType fields)
 * @returns The updated agent with the new activeVersionId, or the original if no changes
 */
export declare function handleAutoVersioning<TAgent>(agentsStore: AgentsStoreWithVersions<TAgent>, agentId: string, existingAgent: TAgent & {
    activeVersionId?: string;
}, updatedAgent: TAgent, configFields?: Record<string, unknown>): Promise<{
    agent: TAgent;
    versionCreated: boolean;
}>;
/**
 * GET /stored/agents/:agentId/versions - List all versions for an agent
 */
export declare const LIST_AGENT_VERSIONS_ROUTE: import("../server-adapter").ServerRoute<import("../server-adapter").InferParams<import("zod").ZodObject<{
    agentId: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
    agentId: string;
}, {
    agentId: string;
}>, import("zod").ZodObject<{
    perPage: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
    page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
} & {
    orderBy: import("zod").ZodOptional<import("zod").ZodObject<{
        field: import("zod").ZodOptional<import("zod").ZodEnum<["versionNumber", "createdAt"]>>;
        direction: import("zod").ZodOptional<import("zod").ZodEnum<["ASC", "DESC"]>>;
    }, "strip", import("zod").ZodTypeAny, {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    }, {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    }>>;
}, "strip", import("zod").ZodTypeAny, {
    page: number;
    perPage: number;
    orderBy?: {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    } | undefined;
}, {
    page?: number | undefined;
    perPage?: number | undefined;
    orderBy?: {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    } | undefined;
}> | import("zod").ZodObject<{
    perPage: import("zod").ZodOptional<import("zod").ZodNumber>;
    page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
} & {
    orderBy: import("zod").ZodOptional<import("zod").ZodObject<{
        field: import("zod").ZodOptional<import("zod").ZodEnum<["versionNumber", "createdAt"]>>;
        direction: import("zod").ZodOptional<import("zod").ZodEnum<["ASC", "DESC"]>>;
    }, "strip", import("zod").ZodTypeAny, {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    }, {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    }>>;
}, "strip", import("zod").ZodTypeAny, {
    page: number;
    perPage?: number | undefined;
    orderBy?: {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    } | undefined;
}, {
    page?: number | undefined;
    perPage?: number | undefined;
    orderBy?: {
        field?: "createdAt" | "versionNumber" | undefined;
        direction?: "ASC" | "DESC" | undefined;
    } | undefined;
}>, undefined>, {
    total: number;
    page: number;
    perPage: number | false;
    hasMore: boolean;
    versions: {
        name: string;
        id: string;
        createdAt: Date;
        agentId: string;
        model: Record<string, unknown>;
        instructions: string;
        versionNumber: number;
        description?: string | undefined;
        tools?: string[] | undefined;
        agents?: string[] | undefined;
        workflows?: string[] | undefined;
        inputProcessors?: string[] | undefined;
        outputProcessors?: string[] | undefined;
        defaultOptions?: import("zod").objectOutputType<{
            runId: import("zod").ZodOptional<import("zod").ZodString>;
            savePerStep: import("zod").ZodOptional<import("zod").ZodBoolean>;
            maxSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
            activeTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            maxProcessorRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
            toolChoice: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"auto">, import("zod").ZodLiteral<"none">, import("zod").ZodLiteral<"required">, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"tool">;
                toolName: import("zod").ZodString;
            }, "strip", import("zod").ZodTypeAny, {
                type: "tool";
                toolName: string;
            }, {
                type: "tool";
                toolName: string;
            }>]>>;
            modelSettings: import("zod").ZodOptional<import("zod").ZodObject<{
                temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
                maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
                topP: import("zod").ZodOptional<import("zod").ZodNumber>;
                topK: import("zod").ZodOptional<import("zod").ZodNumber>;
                frequencyPenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
                presencePenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
                stopSequences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
                seed: import("zod").ZodOptional<import("zod").ZodNumber>;
                maxRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
            }, "strip", import("zod").ZodTypeAny, {
                temperature?: number | undefined;
                maxTokens?: number | undefined;
                topP?: number | undefined;
                topK?: number | undefined;
                frequencyPenalty?: number | undefined;
                presencePenalty?: number | undefined;
                stopSequences?: string[] | undefined;
                seed?: number | undefined;
                maxRetries?: number | undefined;
            }, {
                temperature?: number | undefined;
                maxTokens?: number | undefined;
                topP?: number | undefined;
                topK?: number | undefined;
                frequencyPenalty?: number | undefined;
                presencePenalty?: number | undefined;
                stopSequences?: string[] | undefined;
                seed?: number | undefined;
                maxRetries?: number | undefined;
            }>>;
            returnScorerData: import("zod").ZodOptional<import("zod").ZodBoolean>;
            tracingOptions: import("zod").ZodOptional<import("zod").ZodObject<{
                traceName: import("zod").ZodOptional<import("zod").ZodString>;
                attributes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
                spanId: import("zod").ZodOptional<import("zod").ZodString>;
                traceId: import("zod").ZodOptional<import("zod").ZodString>;
            }, "strip", import("zod").ZodTypeAny, {
                traceId?: string | undefined;
                traceName?: string | undefined;
                attributes?: Record<string, unknown> | undefined;
                spanId?: string | undefined;
            }, {
                traceId?: string | undefined;
                traceName?: string | undefined;
                attributes?: Record<string, unknown> | undefined;
                spanId?: string | undefined;
            }>>;
            requireToolApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
            autoResumeSuspendedTools: import("zod").ZodOptional<import("zod").ZodBoolean>;
            toolCallConcurrency: import("zod").ZodOptional<import("zod").ZodNumber>;
            includeRawChunks: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
        memory?: {
            options?: {
                readOnly?: boolean | undefined;
                lastMessages?: number | false | undefined;
                semanticRecall?: boolean | {
                    topK: number;
                    messageRange: number | {
                        before: number;
                        after: number;
                    };
                    scope?: "thread" | "resource" | undefined;
                    threshold?: number | undefined;
                    indexName?: string | undefined;
                } | undefined;
                generateTitle?: boolean | {
                    model: string;
                    instructions?: string | undefined;
                } | undefined;
            } | undefined;
            vector?: string | false | undefined;
        } | undefined;
        scorers?: Record<string, {
            sampling?: {
                type: "none";
            } | {
                type: "ratio";
                rate: number;
            } | undefined;
        }> | undefined;
        integrationTools?: string[] | undefined;
        changeMessage?: string | undefined;
        changedFields?: string[] | undefined;
    }[];
}, "json">;
/**
 * POST /stored/agents/:agentId/versions - Create a new version snapshot
 */
export declare const CREATE_AGENT_VERSION_ROUTE: import("../server-adapter").ServerRoute<import("../server-adapter").InferParams<import("zod").ZodObject<{
    agentId: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
    agentId: string;
}, {
    agentId: string;
}>, undefined, import("zod").ZodObject<{
    changeMessage: import("zod").ZodOptional<import("zod").ZodString>;
}, "strip", import("zod").ZodTypeAny, {
    changeMessage?: string | undefined;
}, {
    changeMessage?: string | undefined;
}>>, {
    id: string;
    createdAt: Date;
    agentId: string;
    versionNumber: number;
    name?: string | undefined;
    description?: string | undefined;
    model?: Record<string, unknown> | undefined;
    instructions?: string | undefined;
    tools?: string[] | undefined;
    agents?: string[] | undefined;
    workflows?: string[] | undefined;
    inputProcessors?: string[] | undefined;
    outputProcessors?: string[] | undefined;
    defaultOptions?: import("zod").objectOutputType<{
        runId: import("zod").ZodOptional<import("zod").ZodString>;
        savePerStep: import("zod").ZodOptional<import("zod").ZodBoolean>;
        maxSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
        activeTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        maxProcessorRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
        toolChoice: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"auto">, import("zod").ZodLiteral<"none">, import("zod").ZodLiteral<"required">, import("zod").ZodObject<{
            type: import("zod").ZodLiteral<"tool">;
            toolName: import("zod").ZodString;
        }, "strip", import("zod").ZodTypeAny, {
            type: "tool";
            toolName: string;
        }, {
            type: "tool";
            toolName: string;
        }>]>>;
        modelSettings: import("zod").ZodOptional<import("zod").ZodObject<{
            temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
            maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
            topP: import("zod").ZodOptional<import("zod").ZodNumber>;
            topK: import("zod").ZodOptional<import("zod").ZodNumber>;
            frequencyPenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
            presencePenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
            stopSequences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            seed: import("zod").ZodOptional<import("zod").ZodNumber>;
            maxRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
        }, "strip", import("zod").ZodTypeAny, {
            temperature?: number | undefined;
            maxTokens?: number | undefined;
            topP?: number | undefined;
            topK?: number | undefined;
            frequencyPenalty?: number | undefined;
            presencePenalty?: number | undefined;
            stopSequences?: string[] | undefined;
            seed?: number | undefined;
            maxRetries?: number | undefined;
        }, {
            temperature?: number | undefined;
            maxTokens?: number | undefined;
            topP?: number | undefined;
            topK?: number | undefined;
            frequencyPenalty?: number | undefined;
            presencePenalty?: number | undefined;
            stopSequences?: string[] | undefined;
            seed?: number | undefined;
            maxRetries?: number | undefined;
        }>>;
        returnScorerData: import("zod").ZodOptional<import("zod").ZodBoolean>;
        tracingOptions: import("zod").ZodOptional<import("zod").ZodObject<{
            traceName: import("zod").ZodOptional<import("zod").ZodString>;
            attributes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
            spanId: import("zod").ZodOptional<import("zod").ZodString>;
            traceId: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            traceId?: string | undefined;
            traceName?: string | undefined;
            attributes?: Record<string, unknown> | undefined;
            spanId?: string | undefined;
        }, {
            traceId?: string | undefined;
            traceName?: string | undefined;
            attributes?: Record<string, unknown> | undefined;
            spanId?: string | undefined;
        }>>;
        requireToolApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
        autoResumeSuspendedTools: import("zod").ZodOptional<import("zod").ZodBoolean>;
        toolCallConcurrency: import("zod").ZodOptional<import("zod").ZodNumber>;
        includeRawChunks: import("zod").ZodOptional<import("zod").ZodBoolean>;
    }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    memory?: {
        options?: {
            readOnly?: boolean | undefined;
            lastMessages?: number | false | undefined;
            semanticRecall?: boolean | {
                topK: number;
                messageRange: number | {
                    before: number;
                    after: number;
                };
                scope?: "thread" | "resource" | undefined;
                threshold?: number | undefined;
                indexName?: string | undefined;
            } | undefined;
            generateTitle?: boolean | {
                model: string;
                instructions?: string | undefined;
            } | undefined;
        } | undefined;
        vector?: string | false | undefined;
    } | undefined;
    scorers?: Record<string, {
        sampling?: {
            type: "none";
        } | {
            type: "ratio";
            rate: number;
        } | undefined;
    }> | undefined;
    integrationTools?: string[] | undefined;
    changeMessage?: string | undefined;
    changedFields?: string[] | undefined;
}, "json">;
/**
 * GET /stored/agents/:agentId/versions/:versionId - Get a specific version
 */
export declare const GET_AGENT_VERSION_ROUTE: import("../server-adapter").ServerRoute<{
    agentId: string;
    versionId: string;
}, {
    name: string;
    id: string;
    createdAt: Date;
    agentId: string;
    model: Record<string, unknown>;
    instructions: string;
    versionNumber: number;
    description?: string | undefined;
    tools?: string[] | undefined;
    agents?: string[] | undefined;
    workflows?: string[] | undefined;
    inputProcessors?: string[] | undefined;
    outputProcessors?: string[] | undefined;
    defaultOptions?: import("zod").objectOutputType<{
        runId: import("zod").ZodOptional<import("zod").ZodString>;
        savePerStep: import("zod").ZodOptional<import("zod").ZodBoolean>;
        maxSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
        activeTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        maxProcessorRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
        toolChoice: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"auto">, import("zod").ZodLiteral<"none">, import("zod").ZodLiteral<"required">, import("zod").ZodObject<{
            type: import("zod").ZodLiteral<"tool">;
            toolName: import("zod").ZodString;
        }, "strip", import("zod").ZodTypeAny, {
            type: "tool";
            toolName: string;
        }, {
            type: "tool";
            toolName: string;
        }>]>>;
        modelSettings: import("zod").ZodOptional<import("zod").ZodObject<{
            temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
            maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
            topP: import("zod").ZodOptional<import("zod").ZodNumber>;
            topK: import("zod").ZodOptional<import("zod").ZodNumber>;
            frequencyPenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
            presencePenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
            stopSequences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            seed: import("zod").ZodOptional<import("zod").ZodNumber>;
            maxRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
        }, "strip", import("zod").ZodTypeAny, {
            temperature?: number | undefined;
            maxTokens?: number | undefined;
            topP?: number | undefined;
            topK?: number | undefined;
            frequencyPenalty?: number | undefined;
            presencePenalty?: number | undefined;
            stopSequences?: string[] | undefined;
            seed?: number | undefined;
            maxRetries?: number | undefined;
        }, {
            temperature?: number | undefined;
            maxTokens?: number | undefined;
            topP?: number | undefined;
            topK?: number | undefined;
            frequencyPenalty?: number | undefined;
            presencePenalty?: number | undefined;
            stopSequences?: string[] | undefined;
            seed?: number | undefined;
            maxRetries?: number | undefined;
        }>>;
        returnScorerData: import("zod").ZodOptional<import("zod").ZodBoolean>;
        tracingOptions: import("zod").ZodOptional<import("zod").ZodObject<{
            traceName: import("zod").ZodOptional<import("zod").ZodString>;
            attributes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
            spanId: import("zod").ZodOptional<import("zod").ZodString>;
            traceId: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            traceId?: string | undefined;
            traceName?: string | undefined;
            attributes?: Record<string, unknown> | undefined;
            spanId?: string | undefined;
        }, {
            traceId?: string | undefined;
            traceName?: string | undefined;
            attributes?: Record<string, unknown> | undefined;
            spanId?: string | undefined;
        }>>;
        requireToolApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
        autoResumeSuspendedTools: import("zod").ZodOptional<import("zod").ZodBoolean>;
        toolCallConcurrency: import("zod").ZodOptional<import("zod").ZodNumber>;
        includeRawChunks: import("zod").ZodOptional<import("zod").ZodBoolean>;
    }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    memory?: {
        options?: {
            readOnly?: boolean | undefined;
            lastMessages?: number | false | undefined;
            semanticRecall?: boolean | {
                topK: number;
                messageRange: number | {
                    before: number;
                    after: number;
                };
                scope?: "thread" | "resource" | undefined;
                threshold?: number | undefined;
                indexName?: string | undefined;
            } | undefined;
            generateTitle?: boolean | {
                model: string;
                instructions?: string | undefined;
            } | undefined;
        } | undefined;
        vector?: string | false | undefined;
    } | undefined;
    scorers?: Record<string, {
        sampling?: {
            type: "none";
        } | {
            type: "ratio";
            rate: number;
        } | undefined;
    }> | undefined;
    integrationTools?: string[] | undefined;
    changeMessage?: string | undefined;
    changedFields?: string[] | undefined;
}, "json">;
/**
 * POST /stored/agents/:agentId/versions/:versionId/activate - Set a version as active
 */
export declare const ACTIVATE_AGENT_VERSION_ROUTE: import("../server-adapter").ServerRoute<{
    agentId: string;
    versionId: string;
}, {
    message: string;
    success: boolean;
    activeVersionId: string;
}, "json">;
/**
 * POST /stored/agents/:agentId/versions/:versionId/restore - Restore agent to a version
 */
export declare const RESTORE_AGENT_VERSION_ROUTE: import("../server-adapter").ServerRoute<{
    agentId: string;
    versionId: string;
}, {
    name: string;
    id: string;
    createdAt: Date;
    agentId: string;
    model: Record<string, unknown>;
    instructions: string;
    versionNumber: number;
    description?: string | undefined;
    tools?: string[] | undefined;
    agents?: string[] | undefined;
    workflows?: string[] | undefined;
    inputProcessors?: string[] | undefined;
    outputProcessors?: string[] | undefined;
    defaultOptions?: import("zod").objectOutputType<{
        runId: import("zod").ZodOptional<import("zod").ZodString>;
        savePerStep: import("zod").ZodOptional<import("zod").ZodBoolean>;
        maxSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
        activeTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        maxProcessorRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
        toolChoice: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"auto">, import("zod").ZodLiteral<"none">, import("zod").ZodLiteral<"required">, import("zod").ZodObject<{
            type: import("zod").ZodLiteral<"tool">;
            toolName: import("zod").ZodString;
        }, "strip", import("zod").ZodTypeAny, {
            type: "tool";
            toolName: string;
        }, {
            type: "tool";
            toolName: string;
        }>]>>;
        modelSettings: import("zod").ZodOptional<import("zod").ZodObject<{
            temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
            maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
            topP: import("zod").ZodOptional<import("zod").ZodNumber>;
            topK: import("zod").ZodOptional<import("zod").ZodNumber>;
            frequencyPenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
            presencePenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
            stopSequences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            seed: import("zod").ZodOptional<import("zod").ZodNumber>;
            maxRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
        }, "strip", import("zod").ZodTypeAny, {
            temperature?: number | undefined;
            maxTokens?: number | undefined;
            topP?: number | undefined;
            topK?: number | undefined;
            frequencyPenalty?: number | undefined;
            presencePenalty?: number | undefined;
            stopSequences?: string[] | undefined;
            seed?: number | undefined;
            maxRetries?: number | undefined;
        }, {
            temperature?: number | undefined;
            maxTokens?: number | undefined;
            topP?: number | undefined;
            topK?: number | undefined;
            frequencyPenalty?: number | undefined;
            presencePenalty?: number | undefined;
            stopSequences?: string[] | undefined;
            seed?: number | undefined;
            maxRetries?: number | undefined;
        }>>;
        returnScorerData: import("zod").ZodOptional<import("zod").ZodBoolean>;
        tracingOptions: import("zod").ZodOptional<import("zod").ZodObject<{
            traceName: import("zod").ZodOptional<import("zod").ZodString>;
            attributes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
            spanId: import("zod").ZodOptional<import("zod").ZodString>;
            traceId: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            traceId?: string | undefined;
            traceName?: string | undefined;
            attributes?: Record<string, unknown> | undefined;
            spanId?: string | undefined;
        }, {
            traceId?: string | undefined;
            traceName?: string | undefined;
            attributes?: Record<string, unknown> | undefined;
            spanId?: string | undefined;
        }>>;
        requireToolApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
        autoResumeSuspendedTools: import("zod").ZodOptional<import("zod").ZodBoolean>;
        toolCallConcurrency: import("zod").ZodOptional<import("zod").ZodNumber>;
        includeRawChunks: import("zod").ZodOptional<import("zod").ZodBoolean>;
    }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    memory?: {
        options?: {
            readOnly?: boolean | undefined;
            lastMessages?: number | false | undefined;
            semanticRecall?: boolean | {
                topK: number;
                messageRange: number | {
                    before: number;
                    after: number;
                };
                scope?: "thread" | "resource" | undefined;
                threshold?: number | undefined;
                indexName?: string | undefined;
            } | undefined;
            generateTitle?: boolean | {
                model: string;
                instructions?: string | undefined;
            } | undefined;
        } | undefined;
        vector?: string | false | undefined;
    } | undefined;
    scorers?: Record<string, {
        sampling?: {
            type: "none";
        } | {
            type: "ratio";
            rate: number;
        } | undefined;
    }> | undefined;
    integrationTools?: string[] | undefined;
    changeMessage?: string | undefined;
    changedFields?: string[] | undefined;
}, "json">;
/**
 * DELETE /stored/agents/:agentId/versions/:versionId - Delete a version
 */
export declare const DELETE_AGENT_VERSION_ROUTE: import("../server-adapter").ServerRoute<{
    agentId: string;
    versionId: string;
}, {
    message: string;
    success: boolean;
}, "json">;
/**
 * GET /stored/agents/:agentId/versions/compare - Compare two versions
 */
export declare const COMPARE_AGENT_VERSIONS_ROUTE: import("../server-adapter").ServerRoute<import("../server-adapter").InferParams<import("zod").ZodObject<{
    agentId: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
    agentId: string;
}, {
    agentId: string;
}>, import("zod").ZodObject<{
    from: import("zod").ZodString;
    to: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
    from: string;
    to: string;
}, {
    from: string;
    to: string;
}>, undefined>, {
    diffs: {
        field: string;
        previousValue?: unknown;
        currentValue?: unknown;
    }[];
    fromVersion: {
        name: string;
        id: string;
        createdAt: Date;
        agentId: string;
        model: Record<string, unknown>;
        instructions: string;
        versionNumber: number;
        description?: string | undefined;
        tools?: string[] | undefined;
        agents?: string[] | undefined;
        workflows?: string[] | undefined;
        inputProcessors?: string[] | undefined;
        outputProcessors?: string[] | undefined;
        defaultOptions?: import("zod").objectOutputType<{
            runId: import("zod").ZodOptional<import("zod").ZodString>;
            savePerStep: import("zod").ZodOptional<import("zod").ZodBoolean>;
            maxSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
            activeTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            maxProcessorRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
            toolChoice: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"auto">, import("zod").ZodLiteral<"none">, import("zod").ZodLiteral<"required">, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"tool">;
                toolName: import("zod").ZodString;
            }, "strip", import("zod").ZodTypeAny, {
                type: "tool";
                toolName: string;
            }, {
                type: "tool";
                toolName: string;
            }>]>>;
            modelSettings: import("zod").ZodOptional<import("zod").ZodObject<{
                temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
                maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
                topP: import("zod").ZodOptional<import("zod").ZodNumber>;
                topK: import("zod").ZodOptional<import("zod").ZodNumber>;
                frequencyPenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
                presencePenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
                stopSequences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
                seed: import("zod").ZodOptional<import("zod").ZodNumber>;
                maxRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
            }, "strip", import("zod").ZodTypeAny, {
                temperature?: number | undefined;
                maxTokens?: number | undefined;
                topP?: number | undefined;
                topK?: number | undefined;
                frequencyPenalty?: number | undefined;
                presencePenalty?: number | undefined;
                stopSequences?: string[] | undefined;
                seed?: number | undefined;
                maxRetries?: number | undefined;
            }, {
                temperature?: number | undefined;
                maxTokens?: number | undefined;
                topP?: number | undefined;
                topK?: number | undefined;
                frequencyPenalty?: number | undefined;
                presencePenalty?: number | undefined;
                stopSequences?: string[] | undefined;
                seed?: number | undefined;
                maxRetries?: number | undefined;
            }>>;
            returnScorerData: import("zod").ZodOptional<import("zod").ZodBoolean>;
            tracingOptions: import("zod").ZodOptional<import("zod").ZodObject<{
                traceName: import("zod").ZodOptional<import("zod").ZodString>;
                attributes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
                spanId: import("zod").ZodOptional<import("zod").ZodString>;
                traceId: import("zod").ZodOptional<import("zod").ZodString>;
            }, "strip", import("zod").ZodTypeAny, {
                traceId?: string | undefined;
                traceName?: string | undefined;
                attributes?: Record<string, unknown> | undefined;
                spanId?: string | undefined;
            }, {
                traceId?: string | undefined;
                traceName?: string | undefined;
                attributes?: Record<string, unknown> | undefined;
                spanId?: string | undefined;
            }>>;
            requireToolApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
            autoResumeSuspendedTools: import("zod").ZodOptional<import("zod").ZodBoolean>;
            toolCallConcurrency: import("zod").ZodOptional<import("zod").ZodNumber>;
            includeRawChunks: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
        memory?: {
            options?: {
                readOnly?: boolean | undefined;
                lastMessages?: number | false | undefined;
                semanticRecall?: boolean | {
                    topK: number;
                    messageRange: number | {
                        before: number;
                        after: number;
                    };
                    scope?: "thread" | "resource" | undefined;
                    threshold?: number | undefined;
                    indexName?: string | undefined;
                } | undefined;
                generateTitle?: boolean | {
                    model: string;
                    instructions?: string | undefined;
                } | undefined;
            } | undefined;
            vector?: string | false | undefined;
        } | undefined;
        scorers?: Record<string, {
            sampling?: {
                type: "none";
            } | {
                type: "ratio";
                rate: number;
            } | undefined;
        }> | undefined;
        integrationTools?: string[] | undefined;
        changeMessage?: string | undefined;
        changedFields?: string[] | undefined;
    };
    toVersion: {
        name: string;
        id: string;
        createdAt: Date;
        agentId: string;
        model: Record<string, unknown>;
        instructions: string;
        versionNumber: number;
        description?: string | undefined;
        tools?: string[] | undefined;
        agents?: string[] | undefined;
        workflows?: string[] | undefined;
        inputProcessors?: string[] | undefined;
        outputProcessors?: string[] | undefined;
        defaultOptions?: import("zod").objectOutputType<{
            runId: import("zod").ZodOptional<import("zod").ZodString>;
            savePerStep: import("zod").ZodOptional<import("zod").ZodBoolean>;
            maxSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
            activeTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            maxProcessorRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
            toolChoice: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"auto">, import("zod").ZodLiteral<"none">, import("zod").ZodLiteral<"required">, import("zod").ZodObject<{
                type: import("zod").ZodLiteral<"tool">;
                toolName: import("zod").ZodString;
            }, "strip", import("zod").ZodTypeAny, {
                type: "tool";
                toolName: string;
            }, {
                type: "tool";
                toolName: string;
            }>]>>;
            modelSettings: import("zod").ZodOptional<import("zod").ZodObject<{
                temperature: import("zod").ZodOptional<import("zod").ZodNumber>;
                maxTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
                topP: import("zod").ZodOptional<import("zod").ZodNumber>;
                topK: import("zod").ZodOptional<import("zod").ZodNumber>;
                frequencyPenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
                presencePenalty: import("zod").ZodOptional<import("zod").ZodNumber>;
                stopSequences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
                seed: import("zod").ZodOptional<import("zod").ZodNumber>;
                maxRetries: import("zod").ZodOptional<import("zod").ZodNumber>;
            }, "strip", import("zod").ZodTypeAny, {
                temperature?: number | undefined;
                maxTokens?: number | undefined;
                topP?: number | undefined;
                topK?: number | undefined;
                frequencyPenalty?: number | undefined;
                presencePenalty?: number | undefined;
                stopSequences?: string[] | undefined;
                seed?: number | undefined;
                maxRetries?: number | undefined;
            }, {
                temperature?: number | undefined;
                maxTokens?: number | undefined;
                topP?: number | undefined;
                topK?: number | undefined;
                frequencyPenalty?: number | undefined;
                presencePenalty?: number | undefined;
                stopSequences?: string[] | undefined;
                seed?: number | undefined;
                maxRetries?: number | undefined;
            }>>;
            returnScorerData: import("zod").ZodOptional<import("zod").ZodBoolean>;
            tracingOptions: import("zod").ZodOptional<import("zod").ZodObject<{
                traceName: import("zod").ZodOptional<import("zod").ZodString>;
                attributes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
                spanId: import("zod").ZodOptional<import("zod").ZodString>;
                traceId: import("zod").ZodOptional<import("zod").ZodString>;
            }, "strip", import("zod").ZodTypeAny, {
                traceId?: string | undefined;
                traceName?: string | undefined;
                attributes?: Record<string, unknown> | undefined;
                spanId?: string | undefined;
            }, {
                traceId?: string | undefined;
                traceName?: string | undefined;
                attributes?: Record<string, unknown> | undefined;
                spanId?: string | undefined;
            }>>;
            requireToolApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
            autoResumeSuspendedTools: import("zod").ZodOptional<import("zod").ZodBoolean>;
            toolCallConcurrency: import("zod").ZodOptional<import("zod").ZodNumber>;
            includeRawChunks: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
        memory?: {
            options?: {
                readOnly?: boolean | undefined;
                lastMessages?: number | false | undefined;
                semanticRecall?: boolean | {
                    topK: number;
                    messageRange: number | {
                        before: number;
                        after: number;
                    };
                    scope?: "thread" | "resource" | undefined;
                    threshold?: number | undefined;
                    indexName?: string | undefined;
                } | undefined;
                generateTitle?: boolean | {
                    model: string;
                    instructions?: string | undefined;
                } | undefined;
            } | undefined;
            vector?: string | false | undefined;
        } | undefined;
        scorers?: Record<string, {
            sampling?: {
                type: "none";
            } | {
                type: "ratio";
                rate: number;
            } | undefined;
        }> | undefined;
        integrationTools?: string[] | undefined;
        changeMessage?: string | undefined;
        changedFields?: string[] | undefined;
    };
}, "json">;
//# sourceMappingURL=agent-versions.d.ts.map