import { Autonomous } from './runtime/autonomous';
import { z } from '@botpress/sdk';
import type { Dependencies } from './_types/dependencies';
declare const configSchema: import("@botpress/sdk").ZodObject<{
    name: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
    description: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
    user: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodObject<{
        state: import("@botpress/sdk").ZodOptional<z.Schema<z.Schema<any, import("@botpress/sdk").ZodTypeDef, any>, import("@botpress/sdk").ZodTypeDef, z.Schema<any, import("@botpress/sdk").ZodTypeDef, any>>>;
        tags: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodRecord<import("@botpress/sdk").ZodString, import("@botpress/sdk").ZodObject<{
            title: import("@botpress/sdk").ZodString;
            description: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        }, "strip", {
            title: string;
            description?: string | undefined;
        }, {
            title: string;
            description?: string | undefined;
        }>>>;
    }, "strip", {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }, {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }>>;
    bot: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodObject<{
        state: import("@botpress/sdk").ZodOptional<z.Schema<z.Schema<any, import("@botpress/sdk").ZodTypeDef, any>, import("@botpress/sdk").ZodTypeDef, z.Schema<any, import("@botpress/sdk").ZodTypeDef, any>>>;
        tags: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodRecord<import("@botpress/sdk").ZodString, import("@botpress/sdk").ZodObject<{
            title: import("@botpress/sdk").ZodString;
            description: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        }, "strip", {
            title: string;
            description?: string | undefined;
        }, {
            title: string;
            description?: string | undefined;
        }>>>;
    }, "strip", {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }, {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }>>;
    conversation: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodObject<{
        tags: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodRecord<import("@botpress/sdk").ZodString, import("@botpress/sdk").ZodObject<{
            title: import("@botpress/sdk").ZodString;
            description: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        }, "strip", {
            title: string;
            description?: string | undefined;
        }, {
            title: string;
            description?: string | undefined;
        }>>>;
    }, "strip", {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }, {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }>>;
    message: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodObject<{
        tags: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodRecord<import("@botpress/sdk").ZodString, import("@botpress/sdk").ZodObject<{
            title: import("@botpress/sdk").ZodString;
            description: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        }, "strip", {
            title: string;
            description?: string | undefined;
        }, {
            title: string;
            description?: string | undefined;
        }>>>;
    }, "strip", {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }, {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }>>;
    workflow: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodObject<{
        tags: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodRecord<import("@botpress/sdk").ZodString, import("@botpress/sdk").ZodObject<{
            title: import("@botpress/sdk").ZodString;
            description: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        }, "strip", {
            title: string;
            description?: string | undefined;
        }, {
            title: string;
            description?: string | undefined;
        }>>>;
    }, "strip", {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }, {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    }>>;
    configuration: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodObject<{
        schema: z.Schema<z.ZodObject<any>, import("@botpress/sdk").ZodTypeDef, z.ZodObject<any>>;
    }, "strip", {
        schema: z.ZodObject<any>;
    }, {
        schema: z.ZodObject<any>;
    }>>;
    defaultModels: z.ZodTransformer<import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodObject<{
        zai: z.Schema<Autonomous.Model | Autonomous.Model[], import("@botpress/sdk").ZodTypeDef, Autonomous.Model | Autonomous.Model[]>;
        autonomous: z.Schema<Autonomous.Model | Autonomous.Model[], import("@botpress/sdk").ZodTypeDef, Autonomous.Model | Autonomous.Model[]>;
    }, "strip", {
        zai: Autonomous.Model | Autonomous.Model[];
        autonomous: Autonomous.Model | Autonomous.Model[];
    }, {
        zai: Autonomous.Model | Autonomous.Model[];
        autonomous: Autonomous.Model | Autonomous.Model[];
    }>>, {
        zai: Autonomous.Model | Autonomous.Model[];
        autonomous: Autonomous.Model | Autonomous.Model[];
    }, {
        zai: Autonomous.Model | Autonomous.Model[];
        autonomous: Autonomous.Model | Autonomous.Model[];
    } | undefined>;
    dependencies: z.Schema<Dependencies, import("@botpress/sdk").ZodTypeDef, Dependencies>;
}, "strip", {
    defaultModels: {
        zai: Autonomous.Model | Autonomous.Model[];
        autonomous: Autonomous.Model | Autonomous.Model[];
    };
    dependencies: Dependencies;
    description?: string | undefined;
    name?: string | undefined;
    user?: {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    message?: {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    workflow?: {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    bot?: {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    configuration?: {
        schema: z.ZodObject<any>;
    } | undefined;
    conversation?: {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
}, {
    dependencies: Dependencies;
    description?: string | undefined;
    name?: string | undefined;
    user?: {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    message?: {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    workflow?: {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    bot?: {
        state?: z.Schema<any, import("@botpress/sdk").ZodTypeDef, any> | undefined;
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    configuration?: {
        schema: z.ZodObject<any>;
    } | undefined;
    conversation?: {
        tags?: Record<string, {
            title: string;
            description?: string | undefined;
        }> | undefined;
    } | undefined;
    defaultModels?: {
        zai: Autonomous.Model | Autonomous.Model[];
        autonomous: Autonomous.Model | Autonomous.Model[];
    } | undefined;
}>;
type AgentConfigProps = z.input<typeof configSchema>;
export type AgentConfig = z.output<typeof configSchema> & {
    __brand: 'AgentConfig';
};
export type TagDefinition = Record<string, {
    title: string;
    description?: string;
}>;
export declare const defineConfig: (config: AgentConfigProps) => AgentConfig;
export declare const isAgentConfig: (value: unknown) => value is AgentConfig;
export {};
//# sourceMappingURL=define-config.d.ts.map