import { Context, Schema } from 'koishi';
export declare const inject: {
    required: string[];
    optional: string[];
};
export declare const name = "wordle-game";
export declare const usage = "## \u4F7F\u7528\n\n1. \u542F\u7528 `monetary`\uFF0C`database` \u548C `puppeteer` \u670D\u52A1\u3002\n2. \u8BBE\u7F6E\u6307\u4EE4\u522B\u540D\u3002\n3. \u8F93\u5165 `wordleGame.\u5F00\u59CB` \u6307\u4EE4\u5F15\u5BFC\u6E38\u620F\u6A21\u5F0F\u3002\n4. \u8F93\u5165\u731C\u6D4B\u8BCD\u3002\n\n## \u6CE8\u610F\u4E8B\u9879\n\n- \u8F93\u5165\u6210\u8BED\u51FA\u73B0\u672A\u77E5\u9519\u8BEF\u65F6\uFF0C\u53EF\u524D\u5F80 `data/wordleGame/idioms.json` \u6587\u4EF6\u4E2D\u641C\u7D22\u8BE5\u6210\u8BED\uFF0C\u67E5\u770B\u662F\u5426\u5B58\u5728\u62FC\u97F3\u7684\u9519\u8BEF\u3002\n\n## \u7279\u6027\n\n- \u8BCD\u5F71\u6709\u7EC6\u5206\u6A21\u5F0F\u7684\u6392\u884C\u699C\uFF0C\u53EF\u81EA\u884C\u4F7F\u7528 `help` \u63A2\u7D22\u3002\n- \u53EF\u81EA\u884C\u5728 `idioms.json` \u4E2D\u6DFB\u52A0\u6210\u8BED\uFF0C\u4F8B\u5982\u201C\u539F\u795E\u542F\u52A8\u201D\uFF0C\u6CE8\u610F\u683C\u5F0F\u5373\u53EF\uFF08\u6CE8\u610F\uFF1AJSON \u683C\u5F0F\u6700\u540E\u4E00\u9879\u4E0D\u9700\u8981\u9017\u53F7\uFF09\u3002\n\n## \u5173\u952E\u6307\u4EE4\n\n- `wordleGame.\u5F00\u59CB [\u5F85\u731C\u8BCD\u7684\u957F\u5EA6]`\n  - \u5F00\u59CB\u6E38\u620F\u5F15\u5BFC\u3002\n\n- `wordleGame.\u5F00\u59CB.\u7ECF\u5178/CET4/6/GMAT/GRE/IELTS/SAT/TOEFL/\u8003\u7814/\u4E13\u516B/\u4E13\u56DB/ALL/Lewdle/Numberle/Math/\u6C49\u515C/\u8BCD\u5F71 [\u5F85\u731C\u8BCD\u7684\u957F\u5EA6]`\n  - \u7ECF\u5178\u6A21\u5F0F\u548C\u6C49\u515C\u6A21\u5F0F\uFF0C\u8F93\u52A0\u5165\u6307\u4EE4\u53EF\u6295\u5165\u8D27\u5E01\uFF0C\u8D62\u4E86\u6709\u5956\u52B1\u3002\n    - `--hard`\n      - \u56F0\u96BE\u6A21\u5F0F\uFF0C\u7EFF\u8272\u7EBF\u7D22\u5FC5\u987B\u4FDD\u7279\u56FA\u5B9A\uFF0C\u9EC4\u8272\u7EBF\u7D22\u5FC5\u987B\u91CD\u590D\u4F7F\u7528\u3002\u5728\u8BCD\u5F71\u6A21\u5F0F\u4E0B\uFF0C\u5C06\u63D0\u9AD8\u5339\u914D\u96BE\u5EA6\u3002\n    - `--uhard`\n      - \u8D85\u56F0\u96BE\u6A21\u5F0F\uFF0C\u5728\u56F0\u96BE\u6A21\u5F0F\u7684\u57FA\u7840\u4E0A\uFF0C\u9EC4\u8272\u7EBF\u7D22\u5FC5\u987B\u8FDC\u79BB\u5B83\u4EEC\u88AB\u7EBF\u7D22\u7684\u5730\u65B9\uFF0C\u7070\u8272\u7684\u7EBF\u7D22\u5FC5\u987B\u88AB\u9075\u5B88\u3002\n    - `--absurd`\n      - \u5728\u8FD9\u79CD\u6A21\u5F0F\u4E0B\uFF0C\u4F60\u5C06\u9762\u5BF9\u4E00\u4E2A\u6781\u5177\u6311\u6218\u6027\u7684\u5BF9\u624B\u3002\n      - \u8352\u8C2C/\u53D8\u6001\u6A21\u5F0F\uFF0CAI \u5C06\u5C3D\u91CF\u907F\u514D\u7ED9\u51FA\u7B54\u6848\u3002\n      - \u6BCF\u6B21\u731C\u6D4B\u65F6\u90FD\u4F1A\u5C3D\u53EF\u80FD\u5C11\u5730\u900F\u9732\u4FE1\u606F\uFF0C\u751A\u81F3\u53EF\u80FD\u66F4\u6362\u79D8\u5BC6\u8BCD\u3002\n      - [\u5982\u4F55\u73A9\uFF1F](https://qntm.org/absurdle)\n    - `--challenge`\n      - \u4EC5\u5EFA\u8BAE\u9AD8\u7EA7\u73A9\u5BB6\u5C1D\u8BD5\u3002\n      - \u8352\u8C2C/\u53D8\u6001\u6311\u6218\u6A21\u5F0F\uFF0C\u8981\u6C42\u4F60\u4ECE\u4E00\u4E2A\u7ED9\u5B9A\u7684\u76EE\u6807\u8BCD\u51FA\u53D1\uFF0C\u901A\u8FC7\u67D0\u79CD\u65B9\u5F0F\u4F7F\u5176\u53D8\u6210\u79D8\u5BC6\u8BCD\u3002\n      - [\u5982\u4F55\u73A9\uFF1F](https://qntm.org/challenge)\n    - `--wordles <\u591A\u5F00\u7684\u6570\u91CF>`\n      - \u540C\u65F6\u731C\u6D4B\u591A\u4E2A\uFF0C\u9ED8\u8BA4\u8303\u56F4\u4E3A 1 ~ 4\u3002\u53EF\u81EA\u884C\u914D\u7F6E\u3002\n    - `--free`\n      - \u6C49\u515C&\u8BCD\u5F71\u7684\u81EA\u7531\u6A21\u5F0F\uFF0C\u4EFB\u610F\u56DB\u5B57\u8BCD\u8BED\u90FD\u53EF\u4F5C\u4E3A\u731C\u6D4B\u8BCD\u3002\n    - `--all`\n      - \u6C49\u515C&\u8BCD\u5F71\u7684\u5168\u6210\u8BED\u6A21\u5F0F\u3002\u5F00\u542F\u65F6\uFF0C\u8BCD\u8BED\u6570\u91CF\u4E3A 29766+ \u4E2A\uFF08\u542B\u751F\u50FB\u5B57\uFF0C\u6781\u96BE\uFF09\uFF1B\u5173\u95ED\u65F6\uFF0C\u4E3A 7208 \u4E2A\u5E38\u7528\u6210\u8BED\uFF08\u4E49\u52A1\u6559\u80B2\uFF09\u3002\n    - \u53EF\u540C\u65F6\u542F\u7528\u56F0\u96BE\u6A21\u5F0F\u548C\u53D8\u6001\u6A21\u5F0F\u3002\n\n- `wordleGame.\u731C [inputWord:text]` - \u731C\u5355\u8BCD|\u6210\u8BED|...\uFF0C\u53C2\u6570\u4E3A\u8F93\u5165\u7684\u8BCD\u3002\n  - `-r`\n    - \u968F\u673A\u731C\u6D4B\u4E00\u6B21\u3002\n\n## QQ \u7FA4\n\n- 956758505\n";
export interface Config {
    isDarkThemeEnabled: boolean;
    isHighContrastThemeEnabled: boolean;
    defaultMaxLeaderboardEntries: number;
    defaultWordLengthForGuessing: number;
    maxInvestmentCurrency: number;
    defaultRewardMultiplier: number;
    maxSimultaneousGuesses: number;
    compositeImagePageWidth: number;
    compositeImagePageHeight: number;
    allowNonPlayersToGuess: boolean;
    enableWordGuessMiddleware: boolean;
    shouldPromptWordLengthInput: boolean;
    isPreventUserDuplicateGuessInput: boolean;
    shouldPromptForWordLengthOnNonClassicStart: boolean;
    enableWordGuessTimeLimit: boolean;
    wordGuessTimeLimitInSeconds: number;
    retractDelay: number;
    imageType: "png" | "jpeg" | "webp";
    isTextToImageConversionEnabled: boolean;
    isEnableQQOfficialRobotMarkdownTemplate: boolean;
    customTemplateId: string;
    key: string;
    numberOfMessageButtonsPerRow: number;
    isUsingUnifiedKoishiBuiltInUsername: boolean;
}
export declare const Config: Schema<Config>;
declare module 'koishi' {
    interface Tables {
        wordle_game_records: GameRecord;
        extra_wordle_game_records: ExtraGameRecord;
        wordle_gaming_player_records: GamingPlayer;
        wordle_player_records: PlayerRecord;
        monetary: Monetary;
    }
}
interface Monetary {
    uid: number;
    currency: string;
    value: number;
}
export interface GameRecord {
    id: number;
    channelId: string;
    isStarted: boolean;
    gameMode: string;
    wordGuessHtmlCache: string;
    strokesHtmlCache: string[][];
    remainingGuessesCount: number;
    wordAnswerChineseDefinition: string;
    guessWordLength: number;
    wordGuess: string;
    isRunning: boolean;
    isHardMode: boolean;
    isUltraHardMode: boolean;
    correctLetters: string[];
    presentLetters: string;
    presentLettersWithIndex: string[];
    absentLetters: string;
    correctPinyinsWithIndex: string[];
    presentPinyins: string[];
    presentTones: string[];
    presentPinyinsWithIndex: string[];
    absentPinyins: string[];
    correctTonesWithIndex: string[];
    presentTonesWithIndex: string[];
    absentTones: string[];
    timestamp: string;
    remainingWordsList: string[];
    isAbsurd: boolean;
    isChallengeMode: boolean;
    targetWord: string;
    wordlesNum: number;
    wordleIndex: number;
    isWin: boolean;
    pinyin: string;
    isFreeMode: boolean;
    previousGuess: string[];
    previousGuessIdioms: string[];
    guessHistory: string[];
}
export interface ExtraGameRecord {
    id: number;
    channelId: string;
    gameMode: string;
    wordGuessHtmlCache: string;
    strokesHtmlCache: string[][];
    wordAnswerChineseDefinition: string;
    guessWordLength: number;
    wordGuess: string;
    correctLetters: string[];
    presentLetters: string;
    presentLettersWithIndex: string[];
    absentLetters: string;
    correctPinyinsWithIndex: string[];
    presentPinyinsWithIndex: string[];
    absentPinyins: string[];
    presentPinyins: string[];
    presentTones: string[];
    correctTonesWithIndex: string[];
    presentTonesWithIndex: string[];
    absentTones: string[];
    timestamp: string;
    wordlesNum: number;
    wordleIndex: number;
    isWin: boolean;
    remainingGuessesCount: number;
    pinyin: string;
    previousGuess: string[];
    previousGuessIdioms: string[];
}
export interface GamingPlayer {
    id: number;
    channelId: string;
    userId: string;
    username: string;
    money: number;
}
export interface PlayerRecord {
    id: number;
    userId: string;
    username: string;
    win: number;
    lose: number;
    moneyChange: number;
    wordGuessCount: number;
    stats: PlayerStats;
    fastestGuessTime: Record<string, number>;
    extraCiyingRankInfo: ExtraCiyingRankInfo;
}
interface PlayerStats {
    '经典'?: WinLoseStats;
    'Lewdle'?: WinLoseStats;
    'CET4'?: WinLoseStats;
    'CET6'?: WinLoseStats;
    'GMAT'?: WinLoseStats;
    'GRE'?: WinLoseStats;
    'IELTS'?: WinLoseStats;
    'SAT'?: WinLoseStats;
    'TOEFL'?: WinLoseStats;
    '考研'?: WinLoseStats;
    '专八'?: WinLoseStats;
    '专四'?: WinLoseStats;
    'ALL'?: WinLoseStats;
    '汉兜'?: WinLoseStats;
    'Numberle'?: WinLoseStats;
    'Math'?: WinLoseStats;
    '词影'?: WinLoseStats;
}
interface WinLoseStats {
    win: number;
    lose: number;
}
interface ExtraCiyingRankInfo {
    successCountIn1HardMode: number;
    successCountIn1Mode: number;
    successCountIn2Mode: number;
    successCountIn3Mode: number;
    successCountIn4Mode: number;
    winIn1HardMode: number;
    winIn1Mode: number;
    winIn2Mode: number;
    winIn3Mode: number;
    winIn4Mode: number;
    loseIn1HardMode: number;
    loseIn1Mode: number;
    loseIn2Mode: number;
    loseIn3Mode: number;
    loseIn4Mode: number;
    fastestGuessTimeIn1HardMode: number;
    fastestGuessTimeIn1Mode: number;
    fastestGuessTimeIn2Mode: number;
    fastestGuessTimeIn3Mode: number;
    fastestGuessTimeIn4Mode: number;
}
export declare function apply(ctx: Context, config: Config): Promise<void>;
export {};
