UNPKG

steam-family-bot-core

Version:

一个用于新版 Steam 家庭的库存监控 Bot 插件

28 lines (27 loc) 1.3 kB
import { CmdAlias, CmdExecutor, CmdOption } from '../cmd/interface'; type Extend<BASE extends {}, N extends string, D> = { [P in N | keyof BASE]?: (P extends keyof BASE ? BASE[P] : unknown) & (P extends N ? D : unknown); }; type ExtractType<T extends string> = T extends 'string' ? string : T extends 'boolean' ? boolean : T extends 'number' ? number : any; type Nullable<T> = T | null; type ExtractNullSafeType<T extends string> = T extends `${infer Type}?` ? Nullable<ExtractType<Type>> : ExtractType<T>; type OptionType<T extends string> = T extends `${infer L}:${infer R}` ? ExtractNullSafeType<R> : unknown; export declare class CommandBuilder<CHANNEL, OPT extends {} = {}> { private name; private description; private options; private aliases; addOption<N extends string, D extends string>(name: N, description: D): CommandBuilder<CHANNEL, Extend<OPT, N, OptionType<D>>>; addAlias(alias: string, option?: object): this; setName<T extends string>(name: T): this; setDescription(description: string): this; setExecutor(executor: CmdExecutor<CHANNEL, OPT>): { name: string; description: string; aliases: CmdAlias[]; options: CmdOption[]; callback: CmdExecutor<CHANNEL, OPT>; children: any[]; }; } export {};