import MaskedPattern, { MaskedPatternState, type MaskedPatternOptions } from './pattern'; import { AppendFlags } from './base'; import ChangeDetails from '../core/change-details'; import { TailDetails } from '../core/tail-details'; export type MaskedEnumOptions = Omit & Pick & Partial>; export type MaskedEnumPatternOptions = MaskedPatternOptions & Partial>; /** Pattern which validates enum values */ export default class MaskedEnum extends MaskedPattern { enum: Array; /** Match enum value */ matchValue: (enumStr: string, inputStr: string, matchFrom: number) => boolean; static DEFAULTS: typeof MaskedPattern.DEFAULTS & Pick; constructor(opts?: MaskedEnumOptions); updateOptions(opts: Partial): void; _update(opts: Partial): void; _appendCharRaw(ch: string, flags?: AppendFlags): ChangeDetails; extractTail(fromPos?: number, toPos?: number): TailDetails; remove(fromPos?: number, toPos?: number): ChangeDetails; get isComplete(): boolean; } //# sourceMappingURL=enum.d.ts.map