import { Context, Schema } from 'koishi';
export declare const name = "lo-terr";
export declare function apply(ctx: Context, config?: Config): void;
export interface Config {
    cardWidth?: number;
    padding?: number;
    optionHeight?: number;
    titleHeight?: number;
    lineHeight?: number;
    theme?: 'light' | 'dark';
    primaryColor?: string;
    accentColor?: string;
    fontFamily?: string;
    titleEmoji?: string;
    titleText?: string;
    hintText?: string;
    backgroundImage?: string;
    backgroundOpacity?: number;
    customCSS?: string;
    questions?: {
        source?: 'file' | 'builtin' | 'api';
        filePath?: string;
        apiUrl?: string;
        categories?: string[];
        difficulty?: 'easy' | 'medium' | 'hard' | 'all';
        count?: number;
        shuffle?: boolean;
    };
    checkIn?: {
        enabled?: boolean;
        points?: {
            base?: number;
            streakBonus?: number;
            maxStreakBonus?: number;
        };
        messages?: {
            success?: string;
            alreadyDone?: string;
            firstTime?: string;
        };
    };
    webRender?: {
        defaultWidth?: number;
        defaultHeight?: number;
        timeout?: number;
        userAgent?: string;
        allowedDomains?: string[];
        blockedDomains?: string[];
        maxFileSize?: number;
    };
    messages?: {
        noPermission?: string;
        noQuestions?: string;
        invalidAnswer?: string;
        correctAnswer?: string;
        wrongAnswer?: string;
        noCurrentQuestion?: string;
        statsHeader?: string;
        profileHeader?: string;
    };
    profileCard?: {
        width?: number;
        height?: number;
        padding?: number;
        theme?: 'blue' | 'green' | 'purple' | 'dark' | 'custom';
        primaryColor?: string;
        secondaryColor?: string;
        accentColor?: string;
        borderRadius?: number;
        borderColor?: string;
        cardBg?: string;
        cardBgEnd?: string;
        fontFamily?: string;
        nameFontSize?: number;
        levelFontSize?: number;
        statsFontSize?: number;
        showAvatar?: boolean;
        showStats?: boolean;
    };
    profile?: {
        defaultAvatar?: string;
        defaultName?: string;
        levelNames?: string[];
        backgrounds?: string[];
        showStats?: boolean;
        showHistory?: boolean;
    };
    permissions?: {
        enabled?: boolean;
        mode?: 'whitelist' | 'blacklist';
        groups?: string[];
        users?: string[];
        commands?: {
            [key: string]: {
                enabled?: boolean;
                mode?: 'whitelist' | 'blacklist';
                groups?: string[];
                users?: string[];
            };
        };
    };
    videoToGif?: {
        enabled?: boolean;
        maxDuration?: number;
        fps?: number;
        width?: number;
        quality?: number;
        maxFileSize?: number;
        tempDir?: string;
        allowedFormats?: string[];
        watermark?: {
            enabled?: boolean;
            text?: string;
            position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center';
            opacity?: number;
            fontSize?: number;
        };
    };
}
export declare const Config: Schema<Schemastery.ObjectS<{
    cardWidth: Schema<number, number>;
    padding: Schema<number, number>;
    optionHeight: Schema<number, number>;
    titleHeight: Schema<number, number>;
    lineHeight: Schema<number, number>;
    theme: Schema<"light" | "dark", "light" | "dark">;
    primaryColor: Schema<string, string>;
    accentColor: Schema<string, string>;
    fontFamily: Schema<string, string>;
    titleEmoji: Schema<string, string>;
    titleText: Schema<string, string>;
    hintText: Schema<string, string>;
    backgroundImage: Schema<string, string>;
    backgroundOpacity: Schema<number, number>;
    customCSS: Schema<string, string>;
    questions: Schema<Schemastery.ObjectS<{
        source: Schema<"file" | "builtin" | "api", "file" | "builtin" | "api">;
        filePath: Schema<string, string>;
        apiUrl: Schema<string, string>;
        categories: Schema<string[], string[]>;
        difficulty: Schema<"easy" | "medium" | "hard" | "all", "easy" | "medium" | "hard" | "all">;
        count: Schema<number, number>;
        shuffle: Schema<boolean, boolean>;
    }>, Schemastery.ObjectT<{
        source: Schema<"file" | "builtin" | "api", "file" | "builtin" | "api">;
        filePath: Schema<string, string>;
        apiUrl: Schema<string, string>;
        categories: Schema<string[], string[]>;
        difficulty: Schema<"easy" | "medium" | "hard" | "all", "easy" | "medium" | "hard" | "all">;
        count: Schema<number, number>;
        shuffle: Schema<boolean, boolean>;
    }>>;
    checkIn: Schema<Schemastery.ObjectS<{
        enabled: Schema<boolean, boolean>;
        points: Schema<Schemastery.ObjectS<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>>;
        messages: Schema<Schemastery.ObjectS<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>, Schemastery.ObjectT<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>>;
    }>, Schemastery.ObjectT<{
        enabled: Schema<boolean, boolean>;
        points: Schema<Schemastery.ObjectS<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>>;
        messages: Schema<Schemastery.ObjectS<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>, Schemastery.ObjectT<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>>;
    }>>;
    webRender: Schema<Schemastery.ObjectS<{
        defaultWidth: Schema<number, number>;
        defaultHeight: Schema<number, number>;
        timeout: Schema<number, number>;
        userAgent: Schema<string, string>;
        allowedDomains: Schema<string[], string[]>;
        blockedDomains: Schema<string[], string[]>;
        maxFileSize: Schema<number, number>;
    }>, Schemastery.ObjectT<{
        defaultWidth: Schema<number, number>;
        defaultHeight: Schema<number, number>;
        timeout: Schema<number, number>;
        userAgent: Schema<string, string>;
        allowedDomains: Schema<string[], string[]>;
        blockedDomains: Schema<string[], string[]>;
        maxFileSize: Schema<number, number>;
    }>>;
    videoToGif: Schema<Schemastery.ObjectS<{
        enabled: Schema<boolean, boolean>;
        maxDuration: Schema<number, number>;
        fps: Schema<number, number>;
        width: Schema<number, number>;
        quality: Schema<number, number>;
        maxFileSize: Schema<number, number>;
        tempDir: Schema<string, string>;
        allowedFormats: Schema<string[], string[]>;
        watermark: Schema<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>>;
    }>, Schemastery.ObjectT<{
        enabled: Schema<boolean, boolean>;
        maxDuration: Schema<number, number>;
        fps: Schema<number, number>;
        width: Schema<number, number>;
        quality: Schema<number, number>;
        maxFileSize: Schema<number, number>;
        tempDir: Schema<string, string>;
        allowedFormats: Schema<string[], string[]>;
        watermark: Schema<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>>;
    }>>;
    messages: Schema<Schemastery.ObjectS<{
        noPermission: Schema<string, string>;
        noQuestions: Schema<string, string>;
        invalidAnswer: Schema<string, string>;
        correctAnswer: Schema<string, string>;
        wrongAnswer: Schema<string, string>;
        noCurrentQuestion: Schema<string, string>;
        statsHeader: Schema<string, string>;
        profileHeader: Schema<string, string>;
    }>, Schemastery.ObjectT<{
        noPermission: Schema<string, string>;
        noQuestions: Schema<string, string>;
        invalidAnswer: Schema<string, string>;
        correctAnswer: Schema<string, string>;
        wrongAnswer: Schema<string, string>;
        noCurrentQuestion: Schema<string, string>;
        statsHeader: Schema<string, string>;
        profileHeader: Schema<string, string>;
    }>>;
    profileCard: Schema<Schemastery.ObjectS<{
        width: Schema<number, number>;
        height: Schema<number, number>;
        padding: Schema<number, number>;
        theme: Schema<"dark" | "blue" | "green" | "purple" | "custom", "dark" | "blue" | "green" | "purple" | "custom">;
        primaryColor: Schema<string, string>;
        secondaryColor: Schema<string, string>;
        accentColor: Schema<string, string>;
        borderRadius: Schema<number, number>;
        borderColor: Schema<string, string>;
        cardBg: Schema<string, string>;
        cardBgEnd: Schema<string, string>;
        fontFamily: Schema<string, string>;
        nameFontSize: Schema<number, number>;
        levelFontSize: Schema<number, number>;
        statsFontSize: Schema<number, number>;
        showAvatar: Schema<boolean, boolean>;
        showStats: Schema<boolean, boolean>;
    }>, Schemastery.ObjectT<{
        width: Schema<number, number>;
        height: Schema<number, number>;
        padding: Schema<number, number>;
        theme: Schema<"dark" | "blue" | "green" | "purple" | "custom", "dark" | "blue" | "green" | "purple" | "custom">;
        primaryColor: Schema<string, string>;
        secondaryColor: Schema<string, string>;
        accentColor: Schema<string, string>;
        borderRadius: Schema<number, number>;
        borderColor: Schema<string, string>;
        cardBg: Schema<string, string>;
        cardBgEnd: Schema<string, string>;
        fontFamily: Schema<string, string>;
        nameFontSize: Schema<number, number>;
        levelFontSize: Schema<number, number>;
        statsFontSize: Schema<number, number>;
        showAvatar: Schema<boolean, boolean>;
        showStats: Schema<boolean, boolean>;
    }>>;
    profile: Schema<Schemastery.ObjectS<{
        defaultAvatar: Schema<string, string>;
        defaultName: Schema<string, string>;
        levelNames: Schema<string[], string[]>;
        backgrounds: Schema<string[], string[]>;
        showStats: Schema<boolean, boolean>;
        showHistory: Schema<boolean, boolean>;
    }>, Schemastery.ObjectT<{
        defaultAvatar: Schema<string, string>;
        defaultName: Schema<string, string>;
        levelNames: Schema<string[], string[]>;
        backgrounds: Schema<string[], string[]>;
        showStats: Schema<boolean, boolean>;
        showHistory: Schema<boolean, boolean>;
    }>>;
    permissions: Schema<Schemastery.ObjectS<{
        enabled: Schema<boolean, boolean>;
        mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
        groups: Schema<string[], string[]>;
        users: Schema<string[], string[]>;
        commands: Schema<import("cosmokit").Dict<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>, import("cosmokit").Dict<Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>>;
    }>, Schemastery.ObjectT<{
        enabled: Schema<boolean, boolean>;
        mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
        groups: Schema<string[], string[]>;
        users: Schema<string[], string[]>;
        commands: Schema<import("cosmokit").Dict<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>, import("cosmokit").Dict<Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>>;
    }>>;
}>, Schemastery.ObjectT<{
    cardWidth: Schema<number, number>;
    padding: Schema<number, number>;
    optionHeight: Schema<number, number>;
    titleHeight: Schema<number, number>;
    lineHeight: Schema<number, number>;
    theme: Schema<"light" | "dark", "light" | "dark">;
    primaryColor: Schema<string, string>;
    accentColor: Schema<string, string>;
    fontFamily: Schema<string, string>;
    titleEmoji: Schema<string, string>;
    titleText: Schema<string, string>;
    hintText: Schema<string, string>;
    backgroundImage: Schema<string, string>;
    backgroundOpacity: Schema<number, number>;
    customCSS: Schema<string, string>;
    questions: Schema<Schemastery.ObjectS<{
        source: Schema<"file" | "builtin" | "api", "file" | "builtin" | "api">;
        filePath: Schema<string, string>;
        apiUrl: Schema<string, string>;
        categories: Schema<string[], string[]>;
        difficulty: Schema<"easy" | "medium" | "hard" | "all", "easy" | "medium" | "hard" | "all">;
        count: Schema<number, number>;
        shuffle: Schema<boolean, boolean>;
    }>, Schemastery.ObjectT<{
        source: Schema<"file" | "builtin" | "api", "file" | "builtin" | "api">;
        filePath: Schema<string, string>;
        apiUrl: Schema<string, string>;
        categories: Schema<string[], string[]>;
        difficulty: Schema<"easy" | "medium" | "hard" | "all", "easy" | "medium" | "hard" | "all">;
        count: Schema<number, number>;
        shuffle: Schema<boolean, boolean>;
    }>>;
    checkIn: Schema<Schemastery.ObjectS<{
        enabled: Schema<boolean, boolean>;
        points: Schema<Schemastery.ObjectS<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>>;
        messages: Schema<Schemastery.ObjectS<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>, Schemastery.ObjectT<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>>;
    }>, Schemastery.ObjectT<{
        enabled: Schema<boolean, boolean>;
        points: Schema<Schemastery.ObjectS<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            base: Schema<number, number>;
            streakBonus: Schema<number, number>;
            maxStreakBonus: Schema<number, number>;
        }>>;
        messages: Schema<Schemastery.ObjectS<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>, Schemastery.ObjectT<{
            success: Schema<string, string>;
            alreadyDone: Schema<string, string>;
            firstTime: Schema<string, string>;
        }>>;
    }>>;
    webRender: Schema<Schemastery.ObjectS<{
        defaultWidth: Schema<number, number>;
        defaultHeight: Schema<number, number>;
        timeout: Schema<number, number>;
        userAgent: Schema<string, string>;
        allowedDomains: Schema<string[], string[]>;
        blockedDomains: Schema<string[], string[]>;
        maxFileSize: Schema<number, number>;
    }>, Schemastery.ObjectT<{
        defaultWidth: Schema<number, number>;
        defaultHeight: Schema<number, number>;
        timeout: Schema<number, number>;
        userAgent: Schema<string, string>;
        allowedDomains: Schema<string[], string[]>;
        blockedDomains: Schema<string[], string[]>;
        maxFileSize: Schema<number, number>;
    }>>;
    videoToGif: Schema<Schemastery.ObjectS<{
        enabled: Schema<boolean, boolean>;
        maxDuration: Schema<number, number>;
        fps: Schema<number, number>;
        width: Schema<number, number>;
        quality: Schema<number, number>;
        maxFileSize: Schema<number, number>;
        tempDir: Schema<string, string>;
        allowedFormats: Schema<string[], string[]>;
        watermark: Schema<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>>;
    }>, Schemastery.ObjectT<{
        enabled: Schema<boolean, boolean>;
        maxDuration: Schema<number, number>;
        fps: Schema<number, number>;
        width: Schema<number, number>;
        quality: Schema<number, number>;
        maxFileSize: Schema<number, number>;
        tempDir: Schema<string, string>;
        allowedFormats: Schema<string[], string[]>;
        watermark: Schema<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>, Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            text: Schema<string, string>;
            position: Schema<"top-left" | "top-right" | "bottom-left" | "bottom-right" | "center", "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center">;
            opacity: Schema<number, number>;
            fontSize: Schema<number, number>;
        }>>;
    }>>;
    messages: Schema<Schemastery.ObjectS<{
        noPermission: Schema<string, string>;
        noQuestions: Schema<string, string>;
        invalidAnswer: Schema<string, string>;
        correctAnswer: Schema<string, string>;
        wrongAnswer: Schema<string, string>;
        noCurrentQuestion: Schema<string, string>;
        statsHeader: Schema<string, string>;
        profileHeader: Schema<string, string>;
    }>, Schemastery.ObjectT<{
        noPermission: Schema<string, string>;
        noQuestions: Schema<string, string>;
        invalidAnswer: Schema<string, string>;
        correctAnswer: Schema<string, string>;
        wrongAnswer: Schema<string, string>;
        noCurrentQuestion: Schema<string, string>;
        statsHeader: Schema<string, string>;
        profileHeader: Schema<string, string>;
    }>>;
    profileCard: Schema<Schemastery.ObjectS<{
        width: Schema<number, number>;
        height: Schema<number, number>;
        padding: Schema<number, number>;
        theme: Schema<"dark" | "blue" | "green" | "purple" | "custom", "dark" | "blue" | "green" | "purple" | "custom">;
        primaryColor: Schema<string, string>;
        secondaryColor: Schema<string, string>;
        accentColor: Schema<string, string>;
        borderRadius: Schema<number, number>;
        borderColor: Schema<string, string>;
        cardBg: Schema<string, string>;
        cardBgEnd: Schema<string, string>;
        fontFamily: Schema<string, string>;
        nameFontSize: Schema<number, number>;
        levelFontSize: Schema<number, number>;
        statsFontSize: Schema<number, number>;
        showAvatar: Schema<boolean, boolean>;
        showStats: Schema<boolean, boolean>;
    }>, Schemastery.ObjectT<{
        width: Schema<number, number>;
        height: Schema<number, number>;
        padding: Schema<number, number>;
        theme: Schema<"dark" | "blue" | "green" | "purple" | "custom", "dark" | "blue" | "green" | "purple" | "custom">;
        primaryColor: Schema<string, string>;
        secondaryColor: Schema<string, string>;
        accentColor: Schema<string, string>;
        borderRadius: Schema<number, number>;
        borderColor: Schema<string, string>;
        cardBg: Schema<string, string>;
        cardBgEnd: Schema<string, string>;
        fontFamily: Schema<string, string>;
        nameFontSize: Schema<number, number>;
        levelFontSize: Schema<number, number>;
        statsFontSize: Schema<number, number>;
        showAvatar: Schema<boolean, boolean>;
        showStats: Schema<boolean, boolean>;
    }>>;
    profile: Schema<Schemastery.ObjectS<{
        defaultAvatar: Schema<string, string>;
        defaultName: Schema<string, string>;
        levelNames: Schema<string[], string[]>;
        backgrounds: Schema<string[], string[]>;
        showStats: Schema<boolean, boolean>;
        showHistory: Schema<boolean, boolean>;
    }>, Schemastery.ObjectT<{
        defaultAvatar: Schema<string, string>;
        defaultName: Schema<string, string>;
        levelNames: Schema<string[], string[]>;
        backgrounds: Schema<string[], string[]>;
        showStats: Schema<boolean, boolean>;
        showHistory: Schema<boolean, boolean>;
    }>>;
    permissions: Schema<Schemastery.ObjectS<{
        enabled: Schema<boolean, boolean>;
        mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
        groups: Schema<string[], string[]>;
        users: Schema<string[], string[]>;
        commands: Schema<import("cosmokit").Dict<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>, import("cosmokit").Dict<Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>>;
    }>, Schemastery.ObjectT<{
        enabled: Schema<boolean, boolean>;
        mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
        groups: Schema<string[], string[]>;
        users: Schema<string[], string[]>;
        commands: Schema<import("cosmokit").Dict<Schemastery.ObjectS<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>, import("cosmokit").Dict<Schemastery.ObjectT<{
            enabled: Schema<boolean, boolean>;
            mode: Schema<"whitelist" | "blacklist", "whitelist" | "blacklist">;
            groups: Schema<string[], string[]>;
            users: Schema<string[], string[]>;
        }>, string>>;
    }>>;
}>>;
