export declare type PinFieldValidator = string | string[] | RegExp | ((key: string) => boolean); export declare type PinFieldFormatter = (key: string) => string; export declare class PinField extends HTMLElement { /** * Current input focus cursor. */ private cursor; /** * Actions stack. */ private actions; /** * Effects stack. */ private effects; /** * State-holder fallback for old browsers and mobile support. */ private fallback; /** * Wrapper around the validator (for internal use). */ private isKeyAllowed; /** * Logger. */ private log; /** * List of HTMLInputElement the PIN Field is composed of. */ inputs: HTMLInputElement[]; /** * Length of the field. */ length: number; /** * Validator. */ validate: PinFieldValidator; /** * Formatter. */ format: PinFieldFormatter; /** * Debug getter. */ get debug(): boolean; /** * Debug setter. */ set debug(val: boolean); /** * Disabled getter. */ get disabled(): boolean; /** * Disabled setter. */ set disabled(val: boolean); /** * List of observed attributes. */ static get observedAttributes(): string[]; /** * Attribute changed callback. */ protected attributeChangedCallback(name: string, prevVal: string | null, nextVal: string | null): void; /** * Connected callback. */ connectedCallback(): void; /** * Disconnected callback. */ disconnectedCallback(): void; /** * Set a value starting from a specific index using the effects stack. */ private applySetValAt; /** * Execute all actions present in the stack. * An action should mutate internal state and generate effects. */ private executeAll; /** * Apply all effects present in the stack. * An effect is an action with side-effects. */ private applyAll; /** * Execute all actions, then apply all effects. */ private render; /** * Wrapper around key down event handler. */ private handleKeyDown; /** * Wrapper around key up event handler. */ private handleKeyUp; /** * Wrapper around paste event handler. */ private handlePaste; } export default PinField;