/** * @file Events - OptionEvent * @module kronk/events/OptionEvent */ import KronkEvent from '#events/kronk.event'; import type { Flags, Option, optionValueSource, OptionValueSource, RawOptionValue } from '@flex-development/kronk'; /** * A parsed option event. * * @see {@linkcode KronkEvent} * @see {@linkcode Option} * * @template {Option} [T=Option] * The option instance * * @category * events * * @class * @extends {KronkEvent} */ declare class OptionEvent extends KronkEvent { option: T; value: unknown; source: OptionValueSource; flag?: Flags | null | undefined; /** * The option event name. * * @see {@linkcode Option.event} * * @public * @instance * @member {Option['event']} id */ id: Option['event']; /** * Create a new parsed `option` event. * * @see {@linkcode Flags} * @see {@linkcode OptionValueSource} * @see {@linkcode RawOptionValue} * * @param {T} option * The option instance representing the parsed option * @param {RawOptionValue} value * The raw `option` value * @param {OptionValueSource} source * The source of the raw option `value` * @param {Flags | null | undefined} [flag] * The parsed `option` flag */ constructor(option: T, value: RawOptionValue, source: OptionValueSource, flag?: Flags | null | undefined); /** * Create a new implied `option` event. * * @see {@linkcode Flags} * @see {@linkcode optionValueSource} * * @param {T} option * The command option instance * @param {unknown} value * The implied `option` value * @param {optionValueSource.implied} source * The source of the option `value` * @param {Flags | null | undefined} [flag] * The parsed `option` flag */ constructor(option: T, value: unknown, source: optionValueSource.implied, flag?: Flags | null | undefined); } export default OptionEvent;