export interface MaskToken {
    pattern?: string | MaskPatterns;
    default?: string;
    optional?: boolean;
    escape?: boolean;
    transform?(c: string): string;
}
export interface MaskTokens {
    [key: string]: MaskToken;
}
export interface MaskProcessResult {
    result: string;
    valid: boolean;
}
export interface StringMaskOptions {
    useDefaults: boolean;
    tokens: MaskTokens;
}
export declare enum MaskPatterns {
    number = "\\d"
}
export declare class Mask {
    private pattern;
    private readonly options;
    constructor(pattern: string, options?: Partial<StringMaskOptions> & {
        tokens: MaskTokens;
    });
    static process(value: string, pattern: string, options: StringMaskOptions): MaskProcessResult;
    static applyMask(value: any, pattern: any, options: StringMaskOptions): string;
    static validate(value: any, pattern: any, options: StringMaskOptions): boolean;
    process(value: string): MaskProcessResult;
    apply(value: any): string;
    validate(value: any): boolean;
}
