import { z } from "zod";
export * from "./zod-schema.providers-core.js";
export declare const ChannelsSchema: z.ZodOptional<z.ZodObject<{
    defaults: z.ZodOptional<z.ZodObject<{
        groupPolicy: z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
        }>>;
    }, z.core.$strict>>;
    modelByChannel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    irc: z.ZodOptional<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
        markdown: z.ZodOptional<z.ZodObject<{
            tables: z.ZodOptional<z.ZodEnum<{
                off: "off";
                bullets: "bullets";
                code: "code";
            }>>;
        }, z.core.$strict>>;
        enabled: z.ZodOptional<z.ZodBoolean>;
        configWrites: z.ZodOptional<z.ZodBoolean>;
        host: z.ZodOptional<z.ZodString>;
        port: z.ZodOptional<z.ZodNumber>;
        tls: z.ZodOptional<z.ZodBoolean>;
        nick: z.ZodOptional<z.ZodString>;
        username: z.ZodOptional<z.ZodString>;
        realname: z.ZodOptional<z.ZodString>;
        password: z.ZodOptional<z.ZodString>;
        passwordFile: z.ZodOptional<z.ZodString>;
        nickserv: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            service: z.ZodOptional<z.ZodString>;
            password: z.ZodOptional<z.ZodString>;
            passwordFile: z.ZodOptional<z.ZodString>;
            register: z.ZodOptional<z.ZodBoolean>;
            registerEmail: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>;
        channels: z.ZodOptional<z.ZodArray<z.ZodString>>;
        dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
            pairing: "pairing";
        }>>>;
        allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        defaultTo: z.ZodOptional<z.ZodString>;
        groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
        }>>>;
        groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            requireMention: z.ZodOptional<z.ZodBoolean>;
            tools: z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>;
            toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>>>;
            skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
            enabled: z.ZodOptional<z.ZodBoolean>;
            allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            systemPrompt: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>>>;
        mentionPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
        historyLimit: z.ZodOptional<z.ZodNumber>;
        dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
        dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            historyLimit: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>>>;
        textChunkLimit: z.ZodOptional<z.ZodNumber>;
        chunkMode: z.ZodOptional<z.ZodEnum<{
            newline: "newline";
            length: "length";
        }>>;
        blockStreaming: z.ZodOptional<z.ZodBoolean>;
        blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
            minChars: z.ZodOptional<z.ZodNumber>;
            maxChars: z.ZodOptional<z.ZodNumber>;
            idleMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        mediaMaxMb: z.ZodOptional<z.ZodNumber>;
        responsePrefix: z.ZodOptional<z.ZodString>;
        accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
            markdown: z.ZodOptional<z.ZodObject<{
                tables: z.ZodOptional<z.ZodEnum<{
                    off: "off";
                    bullets: "bullets";
                    code: "code";
                }>>;
            }, z.core.$strict>>;
            enabled: z.ZodOptional<z.ZodBoolean>;
            configWrites: z.ZodOptional<z.ZodBoolean>;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
            tls: z.ZodOptional<z.ZodBoolean>;
            nick: z.ZodOptional<z.ZodString>;
            username: z.ZodOptional<z.ZodString>;
            realname: z.ZodOptional<z.ZodString>;
            password: z.ZodOptional<z.ZodString>;
            passwordFile: z.ZodOptional<z.ZodString>;
            nickserv: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                service: z.ZodOptional<z.ZodString>;
                password: z.ZodOptional<z.ZodString>;
                passwordFile: z.ZodOptional<z.ZodString>;
                register: z.ZodOptional<z.ZodBoolean>;
                registerEmail: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            channels: z.ZodOptional<z.ZodArray<z.ZodString>>;
            dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
                pairing: "pairing";
            }>>>;
            allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            defaultTo: z.ZodOptional<z.ZodString>;
            groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
            }>>>;
            groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                requireMention: z.ZodOptional<z.ZodBoolean>;
                tools: z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>;
                toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>>>;
                skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
                enabled: z.ZodOptional<z.ZodBoolean>;
                allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
                systemPrompt: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>>>;
            mentionPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
            historyLimit: z.ZodOptional<z.ZodNumber>;
            dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
            dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                historyLimit: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>>>;
            textChunkLimit: z.ZodOptional<z.ZodNumber>;
            chunkMode: z.ZodOptional<z.ZodEnum<{
                newline: "newline";
                length: "length";
            }>>;
            blockStreaming: z.ZodOptional<z.ZodBoolean>;
            blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
                minChars: z.ZodOptional<z.ZodNumber>;
                maxChars: z.ZodOptional<z.ZodNumber>;
                idleMs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            mediaMaxMb: z.ZodOptional<z.ZodNumber>;
            responsePrefix: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>>>;
    }, z.core.$strict>>;
    googlechat: z.ZodOptional<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
        enabled: z.ZodOptional<z.ZodBoolean>;
        configWrites: z.ZodOptional<z.ZodBoolean>;
        allowBots: z.ZodOptional<z.ZodBoolean>;
        requireMention: z.ZodOptional<z.ZodBoolean>;
        groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
        }>>>;
        groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            allow: z.ZodOptional<z.ZodBoolean>;
            requireMention: z.ZodOptional<z.ZodBoolean>;
            users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            systemPrompt: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>>>;
        defaultTo: z.ZodOptional<z.ZodString>;
        serviceAccount: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
        serviceAccountFile: z.ZodOptional<z.ZodString>;
        audienceType: z.ZodOptional<z.ZodEnum<{
            "app-url": "app-url";
            "project-number": "project-number";
        }>>;
        audience: z.ZodOptional<z.ZodString>;
        webhookPath: z.ZodOptional<z.ZodString>;
        webhookUrl: z.ZodOptional<z.ZodString>;
        botUser: z.ZodOptional<z.ZodString>;
        historyLimit: z.ZodOptional<z.ZodNumber>;
        dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
        dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            historyLimit: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>>>;
        textChunkLimit: z.ZodOptional<z.ZodNumber>;
        chunkMode: z.ZodOptional<z.ZodEnum<{
            newline: "newline";
            length: "length";
        }>>;
        blockStreaming: z.ZodOptional<z.ZodBoolean>;
        blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
            minChars: z.ZodOptional<z.ZodNumber>;
            maxChars: z.ZodOptional<z.ZodNumber>;
            idleMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            append: "append";
            replace: "replace";
            status_final: "status_final";
        }>>>;
        mediaMaxMb: z.ZodOptional<z.ZodNumber>;
        replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
        actions: z.ZodOptional<z.ZodObject<{
            reactions: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strict>>;
        dm: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            policy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
                pairing: "pairing";
            }>>>;
            allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        }, z.core.$strict>>;
        typingIndicator: z.ZodOptional<z.ZodEnum<{
            message: "message";
            none: "none";
            reaction: "reaction";
        }>>;
        responsePrefix: z.ZodOptional<z.ZodString>;
        accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
            enabled: z.ZodOptional<z.ZodBoolean>;
            configWrites: z.ZodOptional<z.ZodBoolean>;
            allowBots: z.ZodOptional<z.ZodBoolean>;
            requireMention: z.ZodOptional<z.ZodBoolean>;
            groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
            }>>>;
            groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                allow: z.ZodOptional<z.ZodBoolean>;
                requireMention: z.ZodOptional<z.ZodBoolean>;
                users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
                systemPrompt: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>>>;
            defaultTo: z.ZodOptional<z.ZodString>;
            serviceAccount: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
            serviceAccountFile: z.ZodOptional<z.ZodString>;
            audienceType: z.ZodOptional<z.ZodEnum<{
                "app-url": "app-url";
                "project-number": "project-number";
            }>>;
            audience: z.ZodOptional<z.ZodString>;
            webhookPath: z.ZodOptional<z.ZodString>;
            webhookUrl: z.ZodOptional<z.ZodString>;
            botUser: z.ZodOptional<z.ZodString>;
            historyLimit: z.ZodOptional<z.ZodNumber>;
            dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
            dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                historyLimit: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>>>;
            textChunkLimit: z.ZodOptional<z.ZodNumber>;
            chunkMode: z.ZodOptional<z.ZodEnum<{
                newline: "newline";
                length: "length";
            }>>;
            blockStreaming: z.ZodOptional<z.ZodBoolean>;
            blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
                minChars: z.ZodOptional<z.ZodNumber>;
                maxChars: z.ZodOptional<z.ZodNumber>;
                idleMs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                append: "append";
                replace: "replace";
                status_final: "status_final";
            }>>>;
            mediaMaxMb: z.ZodOptional<z.ZodNumber>;
            replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
            actions: z.ZodOptional<z.ZodObject<{
                reactions: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strict>>;
            dm: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                policy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                    open: "open";
                    disabled: "disabled";
                    allowlist: "allowlist";
                    pairing: "pairing";
                }>>>;
                allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            }, z.core.$strict>>;
            typingIndicator: z.ZodOptional<z.ZodEnum<{
                message: "message";
                none: "none";
                reaction: "reaction";
            }>>;
            responsePrefix: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>>>;
        defaultAccount: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
    slack: z.ZodOptional<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
        markdown: z.ZodOptional<z.ZodObject<{
            tables: z.ZodOptional<z.ZodEnum<{
                off: "off";
                bullets: "bullets";
                code: "code";
            }>>;
        }, z.core.$strict>>;
        enabled: z.ZodOptional<z.ZodBoolean>;
        commands: z.ZodOptional<z.ZodObject<{
            native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
            nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
        }, z.core.$strict>>;
        configWrites: z.ZodOptional<z.ZodBoolean>;
        botToken: z.ZodOptional<z.ZodString>;
        appToken: z.ZodOptional<z.ZodString>;
        userToken: z.ZodOptional<z.ZodString>;
        userTokenReadOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        allowBots: z.ZodOptional<z.ZodBoolean>;
        requireMention: z.ZodOptional<z.ZodBoolean>;
        groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
        }>>>;
        historyLimit: z.ZodOptional<z.ZodNumber>;
        dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
        dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            historyLimit: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>>>;
        textChunkLimit: z.ZodOptional<z.ZodNumber>;
        chunkMode: z.ZodOptional<z.ZodEnum<{
            newline: "newline";
            length: "length";
        }>>;
        blockStreaming: z.ZodOptional<z.ZodBoolean>;
        blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
            minChars: z.ZodOptional<z.ZodNumber>;
            maxChars: z.ZodOptional<z.ZodNumber>;
            idleMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        streaming: z.ZodOptional<z.ZodBoolean>;
        mediaMaxMb: z.ZodOptional<z.ZodNumber>;
        reactionNotifications: z.ZodOptional<z.ZodEnum<{
            off: "off";
            all: "all";
            allowlist: "allowlist";
            own: "own";
        }>>;
        reactionAllowlist: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
        replyToModeByChatType: z.ZodOptional<z.ZodObject<{
            direct: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
            group: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
            channel: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
        }, z.core.$strict>>;
        thread: z.ZodOptional<z.ZodObject<{
            historyScope: z.ZodOptional<z.ZodEnum<{
                channel: "channel";
                thread: "thread";
            }>>;
            inheritParent: z.ZodOptional<z.ZodBoolean>;
            initialHistoryLimit: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        actions: z.ZodOptional<z.ZodObject<{
            reactions: z.ZodOptional<z.ZodBoolean>;
            messages: z.ZodOptional<z.ZodBoolean>;
            pins: z.ZodOptional<z.ZodBoolean>;
            search: z.ZodOptional<z.ZodBoolean>;
            permissions: z.ZodOptional<z.ZodBoolean>;
            memberInfo: z.ZodOptional<z.ZodBoolean>;
            channelInfo: z.ZodOptional<z.ZodBoolean>;
            emojiList: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strict>>;
        slashCommand: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            name: z.ZodOptional<z.ZodString>;
            sessionPrefix: z.ZodOptional<z.ZodString>;
            ephemeral: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strict>>;
        dmPolicy: z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
            pairing: "pairing";
        }>>;
        allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        defaultTo: z.ZodOptional<z.ZodString>;
        dm: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            policy: z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
                pairing: "pairing";
            }>>;
            allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            groupEnabled: z.ZodOptional<z.ZodBoolean>;
            groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
        }, z.core.$strict>>;
        channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            allow: z.ZodOptional<z.ZodBoolean>;
            requireMention: z.ZodOptional<z.ZodBoolean>;
            tools: z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>;
            toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>>>;
            allowBots: z.ZodOptional<z.ZodBoolean>;
            users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
            systemPrompt: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>>>;
        responsePrefix: z.ZodOptional<z.ZodString>;
        ackReaction: z.ZodOptional<z.ZodString>;
        mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            socket: "socket";
            http: "http";
        }>>>;
        signingSecret: z.ZodOptional<z.ZodString>;
        webhookPath: z.ZodDefault<z.ZodOptional<z.ZodString>>;
        accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            mode: z.ZodOptional<z.ZodEnum<{
                socket: "socket";
                http: "http";
            }>>;
            signingSecret: z.ZodOptional<z.ZodString>;
            webhookPath: z.ZodOptional<z.ZodString>;
            capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
            markdown: z.ZodOptional<z.ZodObject<{
                tables: z.ZodOptional<z.ZodEnum<{
                    off: "off";
                    bullets: "bullets";
                    code: "code";
                }>>;
            }, z.core.$strict>>;
            enabled: z.ZodOptional<z.ZodBoolean>;
            commands: z.ZodOptional<z.ZodObject<{
                native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
                nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
            }, z.core.$strict>>;
            configWrites: z.ZodOptional<z.ZodBoolean>;
            botToken: z.ZodOptional<z.ZodString>;
            appToken: z.ZodOptional<z.ZodString>;
            userToken: z.ZodOptional<z.ZodString>;
            userTokenReadOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
            allowBots: z.ZodOptional<z.ZodBoolean>;
            requireMention: z.ZodOptional<z.ZodBoolean>;
            groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
            }>>>;
            historyLimit: z.ZodOptional<z.ZodNumber>;
            dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
            dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                historyLimit: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>>>;
            textChunkLimit: z.ZodOptional<z.ZodNumber>;
            chunkMode: z.ZodOptional<z.ZodEnum<{
                newline: "newline";
                length: "length";
            }>>;
            blockStreaming: z.ZodOptional<z.ZodBoolean>;
            blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
                minChars: z.ZodOptional<z.ZodNumber>;
                maxChars: z.ZodOptional<z.ZodNumber>;
                idleMs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            streaming: z.ZodOptional<z.ZodBoolean>;
            mediaMaxMb: z.ZodOptional<z.ZodNumber>;
            reactionNotifications: z.ZodOptional<z.ZodEnum<{
                off: "off";
                all: "all";
                allowlist: "allowlist";
                own: "own";
            }>>;
            reactionAllowlist: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
            replyToModeByChatType: z.ZodOptional<z.ZodObject<{
                direct: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
                group: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
                channel: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
            }, z.core.$strict>>;
            thread: z.ZodOptional<z.ZodObject<{
                historyScope: z.ZodOptional<z.ZodEnum<{
                    channel: "channel";
                    thread: "thread";
                }>>;
                inheritParent: z.ZodOptional<z.ZodBoolean>;
                initialHistoryLimit: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            actions: z.ZodOptional<z.ZodObject<{
                reactions: z.ZodOptional<z.ZodBoolean>;
                messages: z.ZodOptional<z.ZodBoolean>;
                pins: z.ZodOptional<z.ZodBoolean>;
                search: z.ZodOptional<z.ZodBoolean>;
                permissions: z.ZodOptional<z.ZodBoolean>;
                memberInfo: z.ZodOptional<z.ZodBoolean>;
                channelInfo: z.ZodOptional<z.ZodBoolean>;
                emojiList: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strict>>;
            slashCommand: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                name: z.ZodOptional<z.ZodString>;
                sessionPrefix: z.ZodOptional<z.ZodString>;
                ephemeral: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strict>>;
            dmPolicy: z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
                pairing: "pairing";
            }>>;
            allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            defaultTo: z.ZodOptional<z.ZodString>;
            dm: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                policy: z.ZodOptional<z.ZodEnum<{
                    open: "open";
                    disabled: "disabled";
                    allowlist: "allowlist";
                    pairing: "pairing";
                }>>;
                allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
                groupEnabled: z.ZodOptional<z.ZodBoolean>;
                groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
                replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
            }, z.core.$strict>>;
            channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                allow: z.ZodOptional<z.ZodBoolean>;
                requireMention: z.ZodOptional<z.ZodBoolean>;
                tools: z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>;
                toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>>>;
                allowBots: z.ZodOptional<z.ZodBoolean>;
                users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
                skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
                systemPrompt: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>>>;
            responsePrefix: z.ZodOptional<z.ZodString>;
            ackReaction: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>>>;
    }, z.core.$strict>>;
    bluebubbles: z.ZodOptional<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
        markdown: z.ZodOptional<z.ZodObject<{
            tables: z.ZodOptional<z.ZodEnum<{
                off: "off";
                bullets: "bullets";
                code: "code";
            }>>;
        }, z.core.$strict>>;
        configWrites: z.ZodOptional<z.ZodBoolean>;
        enabled: z.ZodOptional<z.ZodBoolean>;
        serverUrl: z.ZodOptional<z.ZodString>;
        password: z.ZodOptional<z.ZodString>;
        webhookPath: z.ZodOptional<z.ZodString>;
        dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
            pairing: "pairing";
        }>>>;
        allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
        }>>>;
        historyLimit: z.ZodOptional<z.ZodNumber>;
        dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
        dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            historyLimit: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>>>;
        textChunkLimit: z.ZodOptional<z.ZodNumber>;
        chunkMode: z.ZodOptional<z.ZodEnum<{
            newline: "newline";
            length: "length";
        }>>;
        mediaMaxMb: z.ZodOptional<z.ZodNumber>;
        mediaLocalRoots: z.ZodOptional<z.ZodArray<z.ZodString>>;
        sendReadReceipts: z.ZodOptional<z.ZodBoolean>;
        blockStreaming: z.ZodOptional<z.ZodBoolean>;
        blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
            minChars: z.ZodOptional<z.ZodNumber>;
            maxChars: z.ZodOptional<z.ZodNumber>;
            idleMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            requireMention: z.ZodOptional<z.ZodBoolean>;
            tools: z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>;
            toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>>>;
        }, z.core.$strict>>>>;
        responsePrefix: z.ZodOptional<z.ZodString>;
        accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
            markdown: z.ZodOptional<z.ZodObject<{
                tables: z.ZodOptional<z.ZodEnum<{
                    off: "off";
                    bullets: "bullets";
                    code: "code";
                }>>;
            }, z.core.$strict>>;
            configWrites: z.ZodOptional<z.ZodBoolean>;
            enabled: z.ZodOptional<z.ZodBoolean>;
            serverUrl: z.ZodOptional<z.ZodString>;
            password: z.ZodOptional<z.ZodString>;
            webhookPath: z.ZodOptional<z.ZodString>;
            dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
                pairing: "pairing";
            }>>>;
            allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                open: "open";
                disabled: "disabled";
                allowlist: "allowlist";
            }>>>;
            historyLimit: z.ZodOptional<z.ZodNumber>;
            dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
            dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                historyLimit: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>>>;
            textChunkLimit: z.ZodOptional<z.ZodNumber>;
            chunkMode: z.ZodOptional<z.ZodEnum<{
                newline: "newline";
                length: "length";
            }>>;
            mediaMaxMb: z.ZodOptional<z.ZodNumber>;
            mediaLocalRoots: z.ZodOptional<z.ZodArray<z.ZodString>>;
            sendReadReceipts: z.ZodOptional<z.ZodBoolean>;
            blockStreaming: z.ZodOptional<z.ZodBoolean>;
            blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
                minChars: z.ZodOptional<z.ZodNumber>;
                maxChars: z.ZodOptional<z.ZodNumber>;
                idleMs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                requireMention: z.ZodOptional<z.ZodBoolean>;
                tools: z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>;
                toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>>>;
            }, z.core.$strict>>>>;
            responsePrefix: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>>>;
        actions: z.ZodOptional<z.ZodObject<{
            reactions: z.ZodOptional<z.ZodBoolean>;
            edit: z.ZodOptional<z.ZodBoolean>;
            unsend: z.ZodOptional<z.ZodBoolean>;
            reply: z.ZodOptional<z.ZodBoolean>;
            sendWithEffect: z.ZodOptional<z.ZodBoolean>;
            renameGroup: z.ZodOptional<z.ZodBoolean>;
            setGroupIcon: z.ZodOptional<z.ZodBoolean>;
            addParticipant: z.ZodOptional<z.ZodBoolean>;
            removeParticipant: z.ZodOptional<z.ZodBoolean>;
            leaveGroup: z.ZodOptional<z.ZodBoolean>;
            sendAttachment: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strict>>;
    }, z.core.$strict>>;
    msteams: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
        markdown: z.ZodOptional<z.ZodObject<{
            tables: z.ZodOptional<z.ZodEnum<{
                off: "off";
                bullets: "bullets";
                code: "code";
            }>>;
        }, z.core.$strict>>;
        configWrites: z.ZodOptional<z.ZodBoolean>;
        appId: z.ZodOptional<z.ZodString>;
        appPassword: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        webhook: z.ZodOptional<z.ZodObject<{
            port: z.ZodOptional<z.ZodNumber>;
            path: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>;
        dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
            pairing: "pairing";
        }>>>;
        allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
        defaultTo: z.ZodOptional<z.ZodString>;
        groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
        groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            open: "open";
            disabled: "disabled";
            allowlist: "allowlist";
        }>>>;
        textChunkLimit: z.ZodOptional<z.ZodNumber>;
        chunkMode: z.ZodOptional<z.ZodEnum<{
            newline: "newline";
            length: "length";
        }>>;
        blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
            minChars: z.ZodOptional<z.ZodNumber>;
            maxChars: z.ZodOptional<z.ZodNumber>;
            idleMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        mediaAllowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
        mediaAuthAllowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
        requireMention: z.ZodOptional<z.ZodBoolean>;
        historyLimit: z.ZodOptional<z.ZodNumber>;
        dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
        dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            historyLimit: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>>>;
        replyStyle: z.ZodOptional<z.ZodEnum<{
            thread: "thread";
            "top-level": "top-level";
        }>>;
        teams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
            requireMention: z.ZodOptional<z.ZodBoolean>;
            tools: z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>;
            toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>>>;
            replyStyle: z.ZodOptional<z.ZodEnum<{
                thread: "thread";
                "top-level": "top-level";
            }>>;
            channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                requireMention: z.ZodOptional<z.ZodBoolean>;
                tools: z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>;
                toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
                    allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strict>>>>;
                replyStyle: z.ZodOptional<z.ZodEnum<{
                    thread: "thread";
                    "top-level": "top-level";
                }>>;
            }, z.core.$strict>>>>;
        }, z.core.$strict>>>>;
        mediaMaxMb: z.ZodOptional<z.ZodNumber>;
        sharePointSiteId: z.ZodOptional<z.ZodString>;
        responsePrefix: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
}, z.core.$loose>>;
