import { z } from 'zod';
export declare const FeishuAccountConfigSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    enabled: z.ZodOptional<z.ZodBoolean>;
    appId: z.ZodOptional<z.ZodString>;
    appSecret: z.ZodOptional<z.ZodString>;
    domain: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
        feishu: "feishu";
        lark: "lark";
    }>, z.ZodString]>>;
    connectionMode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        webhook: "webhook";
        websocket: "websocket";
    }>>>;
    webhookHost: z.ZodOptional<z.ZodString>;
    webhookPort: z.ZodOptional<z.ZodNumber>;
    webhookPath: z.ZodOptional<z.ZodString>;
    verificationToken: z.ZodOptional<z.ZodString>;
    encryptKey: z.ZodOptional<z.ZodString>;
    dmPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        pairing: "pairing";
        allowlist: "allowlist";
        open: "open";
        disabled: "disabled";
    }>>>;
    groupPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        allowlist: "allowlist";
        open: "open";
        disabled: "disabled";
    }>>>;
    allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
    groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
    requireMention: z.ZodOptional<z.ZodBoolean>;
    historyLimit: z.ZodOptional<z.ZodNumber>;
    textChunkLimit: z.ZodOptional<z.ZodNumber>;
    renderMode: z.ZodOptional<z.ZodEnum<{
        auto: "auto";
        raw: "raw";
        card: "card";
    }>>;
    replyInThread: z.ZodOptional<z.ZodEnum<{
        enabled: "enabled";
        disabled: "disabled";
    }>>;
    typingIndicator: z.ZodOptional<z.ZodBoolean>;
    reactionNotifications: z.ZodOptional<z.ZodEnum<{
        off: "off";
        all: "all";
        own: "own";
    }>>;
    inboundDebounceMs: z.ZodOptional<z.ZodNumber>;
    streaming: z.ZodOptional<z.ZodBoolean>;
    blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        minChars: z.ZodOptional<z.ZodNumber>;
        idleMs: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>>;
    tools: z.ZodOptional<z.ZodObject<{
        doc: z.ZodOptional<z.ZodBoolean>;
        chat: z.ZodOptional<z.ZodBoolean>;
        wiki: z.ZodOptional<z.ZodBoolean>;
        drive: z.ZodOptional<z.ZodBoolean>;
        perm: z.ZodOptional<z.ZodBoolean>;
        bitable: z.ZodOptional<z.ZodBoolean>;
        scopes: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strict>>;
    actions: z.ZodOptional<z.ZodObject<{
        reactions: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strict>>;
    dynamicAgentCreation: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        workspaceTemplate: z.ZodOptional<z.ZodString>;
        agentDirTemplate: z.ZodOptional<z.ZodString>;
        maxAgents: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>>;
}, z.core.$strip>;
export declare const FeishuConfigSchema: z.ZodObject<{
    enabled: z.ZodDefault<z.ZodBoolean>;
    defaultAccount: z.ZodOptional<z.ZodString>;
    appId: z.ZodOptional<z.ZodString>;
    appSecret: z.ZodOptional<z.ZodString>;
    domain: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
        feishu: "feishu";
        lark: "lark";
    }>, z.ZodString]>>>;
    connectionMode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        webhook: "webhook";
        websocket: "websocket";
    }>>>;
    webhookHost: z.ZodOptional<z.ZodString>;
    webhookPort: z.ZodOptional<z.ZodNumber>;
    webhookPath: z.ZodOptional<z.ZodString>;
    verificationToken: z.ZodOptional<z.ZodString>;
    encryptKey: z.ZodOptional<z.ZodString>;
    dmPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        pairing: "pairing";
        allowlist: "allowlist";
        open: "open";
        disabled: "disabled";
    }>>>;
    groupPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        allowlist: "allowlist";
        open: "open";
        disabled: "disabled";
    }>>>;
    allowFrom: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
    groupAllowFrom: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
    requireMention: z.ZodOptional<z.ZodBoolean>;
    historyLimit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    textChunkLimit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    reactionNotifications: z.ZodOptional<z.ZodEnum<{
        off: "off";
        all: "all";
        own: "own";
    }>>;
    inboundDebounceMs: z.ZodOptional<z.ZodNumber>;
    streaming: z.ZodOptional<z.ZodBoolean>;
    blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        minChars: z.ZodOptional<z.ZodNumber>;
        idleMs: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>>;
    tools: z.ZodOptional<z.ZodObject<{
        doc: z.ZodOptional<z.ZodBoolean>;
        chat: z.ZodOptional<z.ZodBoolean>;
        wiki: z.ZodOptional<z.ZodBoolean>;
        drive: z.ZodOptional<z.ZodBoolean>;
        perm: z.ZodOptional<z.ZodBoolean>;
        bitable: z.ZodOptional<z.ZodBoolean>;
        scopes: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strict>>;
    actions: z.ZodOptional<z.ZodObject<{
        reactions: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strict>>;
    dynamicAgentCreation: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        workspaceTemplate: z.ZodOptional<z.ZodString>;
        agentDirTemplate: z.ZodOptional<z.ZodString>;
        maxAgents: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>>;
    accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        enabled: z.ZodOptional<z.ZodBoolean>;
        appId: z.ZodOptional<z.ZodString>;
        appSecret: z.ZodOptional<z.ZodString>;
        domain: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
            feishu: "feishu";
            lark: "lark";
        }>, z.ZodString]>>;
        connectionMode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
            webhook: "webhook";
            websocket: "websocket";
        }>>>;
        webhookHost: z.ZodOptional<z.ZodString>;
        webhookPort: z.ZodOptional<z.ZodNumber>;
        webhookPath: z.ZodOptional<z.ZodString>;
        verificationToken: z.ZodOptional<z.ZodString>;
        encryptKey: z.ZodOptional<z.ZodString>;
        dmPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
            pairing: "pairing";
            allowlist: "allowlist";
            open: "open";
            disabled: "disabled";
        }>>>;
        groupPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
            allowlist: "allowlist";
            open: "open";
            disabled: "disabled";
        }>>>;
        allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        requireMention: z.ZodOptional<z.ZodBoolean>;
        historyLimit: z.ZodOptional<z.ZodNumber>;
        textChunkLimit: z.ZodOptional<z.ZodNumber>;
        renderMode: z.ZodOptional<z.ZodEnum<{
            auto: "auto";
            raw: "raw";
            card: "card";
        }>>;
        replyInThread: z.ZodOptional<z.ZodEnum<{
            enabled: "enabled";
            disabled: "disabled";
        }>>;
        typingIndicator: z.ZodOptional<z.ZodBoolean>;
        reactionNotifications: z.ZodOptional<z.ZodEnum<{
            off: "off";
            all: "all";
            own: "own";
        }>>;
        inboundDebounceMs: z.ZodOptional<z.ZodNumber>;
        streaming: z.ZodOptional<z.ZodBoolean>;
        blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            minChars: z.ZodOptional<z.ZodNumber>;
            idleMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        tools: z.ZodOptional<z.ZodObject<{
            doc: z.ZodOptional<z.ZodBoolean>;
            chat: z.ZodOptional<z.ZodBoolean>;
            wiki: z.ZodOptional<z.ZodBoolean>;
            drive: z.ZodOptional<z.ZodBoolean>;
            perm: z.ZodOptional<z.ZodBoolean>;
            bitable: z.ZodOptional<z.ZodBoolean>;
            scopes: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strict>>;
        actions: z.ZodOptional<z.ZodObject<{
            reactions: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strict>>;
        dynamicAgentCreation: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            workspaceTemplate: z.ZodOptional<z.ZodString>;
            agentDirTemplate: z.ZodOptional<z.ZodString>;
            maxAgents: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type FeishuConfig = z.infer<typeof FeishuConfigSchema>;
export type FeishuAccountConfig = z.infer<typeof FeishuAccountConfigSchema>;
