import { HTTP, Schema } from 'koishi';
import { MemeListSortBy } from 'meme-generator-rs-api';
export interface GenerateCommandConfig {
    enableShortcut: boolean;
    shortcutUsePrefix?: boolean;
    silentShortcut?: boolean;
    moreSilent?: boolean;
    autoUseDefaultTexts: boolean;
    autoUseSenderAvatarWhenOnlyOne: boolean;
    autoUseSenderAvatarWhenOneLeft: boolean;
}
export declare enum NewStrategy {
    DateCreated = "date_created",
    DateModified = "date_modified"
}
export interface ListConfig {
    listSortByRs: MemeListSortBy;
    listSortReverse: boolean;
    listNewTimeDelta: number;
    listNewStrategy: NewStrategy;
    listTextTemplate: string;
    searchListTextTemplate: string;
    listAddCategoryIcon: boolean;
}
export interface OtherCommandConfig {
    randomMemeShowInfo: boolean;
    generateSubCommandCountToFather: boolean;
    randomCommandCountToGenerate: boolean;
}
export interface RequestConfig {
    requestConfig: HTTP.Config;
    requestConcurrency: number;
}
export type Config = GenerateCommandConfig & OtherCommandConfig & ListConfig & RequestConfig;
export declare const GenerateCommandConfig: Schema<GenerateCommandConfig>;
export declare const ListConfig: Schema<ListConfig>;
export declare const OtherCommandConfig: Schema<OtherCommandConfig>;
export declare const RequestConfig: Schema<RequestConfig>;
export declare const Config: Schema<Config>;
