import { z } from 'zod';
export declare const ProfileOptionsSchema: z.ZodObject<{
    stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    sound: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    maxSteps?: number;
    maxRetries?: number;
    verbose?: boolean;
    stream?: boolean;
    sound?: boolean;
}, {
    maxSteps?: number;
    maxRetries?: number;
    verbose?: boolean;
    stream?: boolean;
    sound?: boolean;
}>;
export declare const KnowledgeBaseConfigSchema: z.ZodObject<{
    knowledgeBaseId: z.ZodString;
    modelArn: z.ZodOptional<z.ZodString>;
    region: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    knowledgeBaseId?: string;
    modelArn?: string;
    region?: string;
}, {
    knowledgeBaseId?: string;
    modelArn?: string;
    region?: string;
}>;
export declare const ProfileSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    agent: z.ZodOptional<z.ZodString>;
    provider: z.ZodOptional<z.ZodString>;
    model: z.ZodOptional<z.ZodString>;
    tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    options: z.ZodOptional<z.ZodObject<{
        stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        sound: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        maxSteps?: number;
        maxRetries?: number;
        verbose?: boolean;
        stream?: boolean;
        sound?: boolean;
    }, {
        maxSteps?: number;
        maxRetries?: number;
        verbose?: boolean;
        stream?: boolean;
        sound?: boolean;
    }>>;
    knowledgeBase: z.ZodOptional<z.ZodObject<{
        knowledgeBaseId: z.ZodString;
        modelArn: z.ZodOptional<z.ZodString>;
        region: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        knowledgeBaseId?: string;
        modelArn?: string;
        region?: string;
    }, {
        knowledgeBaseId?: string;
        modelArn?: string;
        region?: string;
    }>>;
}, "strip", z.ZodTypeAny, {
    tools?: string[];
    options?: {
        maxSteps?: number;
        maxRetries?: number;
        verbose?: boolean;
        stream?: boolean;
        sound?: boolean;
    };
    provider?: string;
    name?: string;
    description?: string;
    model?: string;
    agent?: string;
    providerOptions?: Record<string, string>;
    knowledgeBase?: {
        knowledgeBaseId?: string;
        modelArn?: string;
        region?: string;
    };
}, {
    tools?: string[];
    options?: {
        maxSteps?: number;
        maxRetries?: number;
        verbose?: boolean;
        stream?: boolean;
        sound?: boolean;
    };
    provider?: string;
    name?: string;
    description?: string;
    model?: string;
    agent?: string;
    providerOptions?: Record<string, string>;
    knowledgeBase?: {
        knowledgeBaseId?: string;
        modelArn?: string;
        region?: string;
    };
}>;
export declare const ProfilesConfigSchema: z.ZodObject<{
    activeProfile: z.ZodString;
    profiles: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        agent: z.ZodOptional<z.ZodString>;
        provider: z.ZodOptional<z.ZodString>;
        model: z.ZodOptional<z.ZodString>;
        tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        options: z.ZodOptional<z.ZodObject<{
            stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
            sound: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
            verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
            maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            maxSteps?: number;
            maxRetries?: number;
            verbose?: boolean;
            stream?: boolean;
            sound?: boolean;
        }, {
            maxSteps?: number;
            maxRetries?: number;
            verbose?: boolean;
            stream?: boolean;
            sound?: boolean;
        }>>;
        knowledgeBase: z.ZodOptional<z.ZodObject<{
            knowledgeBaseId: z.ZodString;
            modelArn: z.ZodOptional<z.ZodString>;
            region: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            knowledgeBaseId?: string;
            modelArn?: string;
            region?: string;
        }, {
            knowledgeBaseId?: string;
            modelArn?: string;
            region?: string;
        }>>;
    }, "strip", z.ZodTypeAny, {
        tools?: string[];
        options?: {
            maxSteps?: number;
            maxRetries?: number;
            verbose?: boolean;
            stream?: boolean;
            sound?: boolean;
        };
        provider?: string;
        name?: string;
        description?: string;
        model?: string;
        agent?: string;
        providerOptions?: Record<string, string>;
        knowledgeBase?: {
            knowledgeBaseId?: string;
            modelArn?: string;
            region?: string;
        };
    }, {
        tools?: string[];
        options?: {
            maxSteps?: number;
            maxRetries?: number;
            verbose?: boolean;
            stream?: boolean;
            sound?: boolean;
        };
        provider?: string;
        name?: string;
        description?: string;
        model?: string;
        agent?: string;
        providerOptions?: Record<string, string>;
        knowledgeBase?: {
            knowledgeBaseId?: string;
            modelArn?: string;
            region?: string;
        };
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    activeProfile?: string;
    profiles?: {
        tools?: string[];
        options?: {
            maxSteps?: number;
            maxRetries?: number;
            verbose?: boolean;
            stream?: boolean;
            sound?: boolean;
        };
        provider?: string;
        name?: string;
        description?: string;
        model?: string;
        agent?: string;
        providerOptions?: Record<string, string>;
        knowledgeBase?: {
            knowledgeBaseId?: string;
            modelArn?: string;
            region?: string;
        };
    }[];
}, {
    activeProfile?: string;
    profiles?: {
        tools?: string[];
        options?: {
            maxSteps?: number;
            maxRetries?: number;
            verbose?: boolean;
            stream?: boolean;
            sound?: boolean;
        };
        provider?: string;
        name?: string;
        description?: string;
        model?: string;
        agent?: string;
        providerOptions?: Record<string, string>;
        knowledgeBase?: {
            knowledgeBaseId?: string;
            modelArn?: string;
            region?: string;
        };
    }[];
}>;
export type ProfileOptions = z.infer<typeof ProfileOptionsSchema>;
export type KnowledgeBaseConfig = z.infer<typeof KnowledgeBaseConfigSchema>;
export type Profile = z.infer<typeof ProfileSchema>;
export type ProfilesConfig = z.infer<typeof ProfilesConfigSchema>;
export declare const DEFAULT_PROFILE: Profile;
