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,
}
}