import { TaskMagicService } from "../../services/task.magics.service";
import { RefParam } from "@magic-xpa/mscorelib";
import { StorageAttribute } from "@magic-xpa/utils";
import { MagicDirective } from "./magic.directive";
import { AbstractControl } from "@angular/forms";
import { PIC } from "@magic-xpa/gui";
/**
 * Perform Magic validation on input controls which hold alphanumeric strings
 */
export declare class MgformatMagicDirective {
    protected magicDir: MagicDirective;
    protected _task: TaskMagicService;
    /**
     * @ignore
     */
    constructor(magicDir: MagicDirective, _task: TaskMagicService);
    /**
     * @ignore
     */
    /**
     * This can be used to set pattern
     * On input, verifies the input matches the required mask
     */
    onFocusEvent($event: any): void;
    /**
     * @ignore
    */
    onChangeEvent($event: any): void;
    /**
     * @ignore
     */
    formatAlphaUnicode(control: AbstractControl): void;
    /**
     * @ignore
     */
    formatBoolean(control: AbstractControl): void;
    /**
     * @ignore
     */
    generatePattern(attribute: StorageAttribute, pic: PIC): string;
    /**
     * @ignore
     */
    generatePatternForNumber(pic: PIC): string;
    /**
     * @ignore
     */
    isPatternGenerationNeeded(attr: StorageAttribute, pic: PIC): boolean;
    /**
     * @ignore
     */
    generatePatternForAlpha(pic: PIC): string;
    /**
     * @ignore
     */
    getDirectiveCount(mask: string, idx: number, pattern: string, changeInPattern: RefParam<boolean>): number;
    /**
     * @ignore
     */
    IsPatternMatches(mask: string, pattern: string): boolean;
}
