import { Schema } from 'koishi';
import { ImageContentType } from './types';
export declare const Config: Schema<Schemastery.ObjectS<{
    maxEmojiCount: Schema<number, number>;
    selfUrl: Schema<string, string>;
    storagePath: Schema<string, string>;
    categories: Schema<string[], string[]>;
    autoCategorize: Schema<boolean, boolean>;
    autoAnalyze: Schema<boolean, boolean>;
    autoCollect: Schema<boolean, boolean>;
    triggerWithName: Schema<boolean, boolean>;
}> | Schemastery.ObjectS<{
    model: Schema<any, any>;
}> | Schemastery.ObjectS<{
    categorizePrompt: Schema<string, string>;
    analyzePrompt: Schema<string, string>;
    imageFilterPrompt: Schema<string, string>;
    injectVariablesPrompt: Schema<string, string>;
}> | Schemastery.ObjectS<{
    injectVariables: Schema<boolean, boolean>;
    injectVariablesLimit: Schema<number, number>;
    backendServer: Schema<boolean, boolean>;
    backendPath: Schema<string, string>;
    uploadToken: Schema<string, string>;
}> | Schemastery.ObjectS<{
    batchSize: Schema<number, number>;
    aiConcurrency: Schema<number, number>;
    AIBatchDelay: Schema<number, number>;
    AIMaxAttempts: Schema<number, number>;
    AIBackoffBase: Schema<number, number>;
}> | Schemastery.ObjectS<{
    minEmojiSize: Schema<number, number>;
    maxEmojiSize: Schema<number, number>;
    similarityThreshold: Schema<number, number>;
    whitelistGroups: Schema<string[], string[]>;
    emojiFrequencyThreshold: Schema<number, number>;
    groupAutoCollectLimit: Schema<import("cosmokit").Dict<Schemastery.ObjectS<{
        hourLimit: Schema<number, number>;
        dayLimit: Schema<number, number>;
    }>, string>, import("cosmokit").Dict<Schemastery.ObjectT<{
        hourLimit: Schema<number, number>;
        dayLimit: Schema<number, number>;
    }>, string>>;
    enableImageTypeFilter: Schema<boolean, boolean>;
    acceptedImageTypes: Schema<ImageContentType[], ImageContentType[]>;
}>, {
    maxEmojiCount: number;
    selfUrl: string;
    storagePath: string;
    categories: string[];
    autoCategorize: boolean;
    autoAnalyze: boolean;
    autoCollect: boolean;
    triggerWithName: boolean;
} & import("cosmokit").Dict & {
    model: any;
} & {
    categorizePrompt: string;
    analyzePrompt: string;
    imageFilterPrompt: string;
    injectVariablesPrompt: string;
} & {
    injectVariables: boolean;
    injectVariablesLimit: number;
    backendServer: boolean;
    backendPath: string;
    uploadToken: string;
} & {
    batchSize: number;
    aiConcurrency: number;
    AIBatchDelay: number;
    AIMaxAttempts: number;
    AIBackoffBase: number;
} & {
    minEmojiSize: number;
    maxEmojiSize: number;
    similarityThreshold: number;
    whitelistGroups: string[];
    emojiFrequencyThreshold: number;
    groupAutoCollectLimit: import("cosmokit").Dict<Schemastery.ObjectT<{
        hourLimit: Schema<number, number>;
        dayLimit: Schema<number, number>;
    }>, string>;
    enableImageTypeFilter: boolean;
    acceptedImageTypes: ImageContentType[];
}>;
export interface Config {
    maxEmojiCount: number;
    storagePath: string;
    categories: string[];
    autoCategorize: boolean;
    triggerWithName: boolean;
    autoAnalyze: boolean;
    autoCollect: boolean;
    model: string;
    selfUrl: string;
    categorizePrompt: string;
    analyzePrompt: string;
    imageFilterPrompt: string;
    injectVariablesPrompt: string;
    minEmojiSize: number;
    maxEmojiSize: number;
    similarityThreshold: number;
    whitelistGroups: string[];
    emojiFrequencyThreshold: number;
    injectVariables: boolean;
    injectVariablesLimit: number;
    backendServer: boolean;
    backendPath: string;
    uploadToken: string;
    groupAutoCollectLimit: Record<string, {
        hourLimit: number;
        dayLimit: number;
    }>;
    enableImageTypeFilter: boolean;
    acceptedImageTypes: ImageContentType[];
    batchSize: number;
    aiConcurrency: number;
    AIBatchDelay: number;
    AIMaxAttempts: number;
    AIBackoffBase: number;
}
export declare const name = "emojiluna";
