import { type MaskitoOptions } from '@maskito/core';
import { TuiControl } from '@taiga-ui/cdk/classes';
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/core/components/input";
import * as i2 from "@maskito/angular";
export declare class TuiInputPhoneDirective extends TuiControl<string | null> {
    private readonly input;
    private readonly host;
    protected readonly options: import("./input-phone.options").TuiInputPhoneOptions;
    protected readonly el: HTMLInputElement;
    protected readonly nonRemovablePrefix: import("@angular/core").Signal<string>;
    protected readonly inputMode: import("@angular/core").Signal<"text" | "numeric">;
    protected readonly valueEffect: import("@angular/core").EffectRef;
    protected readonly blurEffect: import("@angular/core").EffectRef;
    protected readonly countryCode: import("@angular/core").Signal<string>;
    protected readonly phoneMask: import("@angular/core").Signal<string>;
    protected readonly maskito: import("@angular/core").Signal<MaskitoOptions>;
    readonly allowText: import("@angular/core").InputSignal<boolean>;
    readonly mask: import("@angular/core").InputSignal<string>;
    protected onInput(value: string): void;
    private get maxPhoneLength();
    private calculateMask;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPhoneDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputPhoneDirective, "input[tuiInputPhone]", never, { "allowText": { "alias": "allowText"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithInput; inputs: {}; outputs: {}; }, { directive: typeof i2.MaskitoDirective; inputs: {}; outputs: {}; }]>;
}
