import type { Message } from "discord.js"; export declare class Flag { type: T; time: T extends FlagType.Timeout ? number : never; message: T extends FlagType.Retry ? Message : never; value: T extends FlagType.Fail ? any : never; command: T extends FlagType.Continue ? string : never; ignore: T extends FlagType.Continue ? boolean : never; rest: T extends FlagType.Continue ? string : never; constructor(type: T & FlagType.Cancel); constructor(type: T & FlagType.Timeout, data?: FlagTimeoutData); constructor(type: T & FlagType.Retry, data?: FlagRetryData); constructor(type: T & FlagType.Fail, data?: FlagFailData); constructor(type: T & FlagType.Continue, data?: FlagContinueData); static cancel(): Flag; static timeout(time: number): Flag; static retry(message: Message): Flag; static fail(value: any): Flag; static continue(command: string, ignore?: boolean, rest?: string | null): Flag; static is(value: unknown, type: Type): value is Flag; } export declare enum FlagType { Cancel = "cancel", Timeout = "timeout", Retry = "retry", Fail = "fail", Continue = "continue" } interface FlagTimeoutData { time: number; } interface FlagRetryData { message: Message; } interface FlagFailData { value: any; } interface FlagContinueData { command: string; ignore: boolean; rest: string | null; } export {}; //# sourceMappingURL=Flag.d.ts.map