export declare const createMaskedInput: (el: HTMLInputElement | string, options?: string | MaskedLocalization) => MaskedInput | MaskedInput[]; export declare const extendDefaults: (opts: Partial) => void; export declare const extractInstance: (el: HTMLInputElement) => IMaskedInput | null; export declare function format(val: string, locale?: Locale): string; declare interface GlobalOptions { locale: Locale; } declare interface IMaskedInput { native?: HTMLInputElement; value: string; formatter?: MaskedFormatter; validator?: MaskedValidator; code?: string; keyCode?: number; eventType?: string; destroy(): void; format(): void; validate(): boolean; } declare type Locale = string; export declare const LOCALE_RU = "ru"; export declare namespace Locales { export { LOCALE_RU } } declare type MaskedFormatter = (value: string, instance?: IMaskedInput) => string; export declare class MaskedInput implements IMaskedInput { native: HTMLInputElement; formatter: MaskedFormatter; validator: MaskedValidator; code?: string; keyCode?: number; eventType?: string; constructor(el: HTMLInputElement, formatter: MaskedFormatter, validator: MaskedValidator); set value(value: string); get value(): string; format(): void; validate(): boolean; private onInput; private onKeypress; private onKeyDown; private handleEffects; private attachEvents; private detachEvents; destroy(): void; get isValid(): boolean; get isInvalid(): boolean; } declare interface MaskedLocalization { formatter: MaskedFormatter; validator: MaskedValidator; } declare type MaskedValidator = (value?: string) => boolean; export declare function validate(el: HTMLElement): boolean; export declare function validate(value: string, locale?: string): boolean; export { } declare global { interface HTMLInputElement { __masked_phone_input__?: IMaskedInput, } }