# booking/11.9/vendors/imask/esm/controls/mask-element.d.ts

Booking Calendar, version 11.9. 31 lines.

- Page: https://pluginprobe.com/plugins/booking/11.9/code/vendors/imask/esm/controls/mask-element.d.ts
- Raw: https://pluginprobe.com/plugins/booking/11.9/raw/vendors/imask/esm/controls/mask-element.d.ts
- Modified: 2025-07-25T07:28:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/booking/11.9/code/vendors/imask/esm/controls/mask-element.d.ts#L10-L20`.

```typescript
export type ElementEvent = 'selectionChange' | 'input' | 'drop' | 'click' | 'focus' | 'commit';
export type EventHandlers = {
    [key in ElementEvent]: (...args: any[]) => void;
} & {
    undo?: (...args: any[]) => void;
    redo?: (...args: any[]) => void;
};
/**  Generic element API to use with mask */
export default abstract class MaskElement {
    /** */
    abstract _unsafeSelectionStart: number | null;
    /** */
    abstract _unsafeSelectionEnd: number | null;
    /** */
    abstract value: string;
    /** Safely returns selection start */
    get selectionStart(): number;
    /** Safely returns selection end */
    get selectionEnd(): number;
    /** Safely sets element selection */
    select(start: number, end: number): void;
    /** */
    get isActive(): boolean;
    /** */
    abstract _unsafeSelect(start: number, end: number): void;
    /** */
    abstract bindEvents(handlers: EventHandlers): void;
    /** */
    abstract unbindEvents(): void;
}
//# sourceMappingURL=mask-element.d.ts.map
```
