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/textfield";
import * as i2 from "@maskito/angular";
export declare class TuiInputPhone extends TuiControl<string | null> {
    private readonly textfield;
    private readonly host;
    protected readonly nonRemovablePrefix: import("@angular/core").Signal<string>;
    protected inputMode: import("@angular/core").Signal<"text" | "numeric">;
    protected readonly valueEffect: import("@angular/core").EffectRef;
    protected readonly blurEffect: import("@angular/core").EffectRef;
    protected readonly options: import("./input-phone.options").TuiInputPhoneOptions;
    protected readonly el: HTMLInputElement;
    protected readonly mask: import("@angular/core").Signal<MaskitoOptions>;
    protected readonly maskito: import("@angular/core").Signal<MaskitoOptions | null>;
    readonly countryCode: import("@angular/core").WritableSignal<string>;
    readonly allowText: import("@angular/core").WritableSignal<boolean>;
    readonly phoneMask: import("@angular/core").WritableSignal<string>;
    set allowTextSetter(allow: boolean);
    set maskSetter(mask: string);
    protected onInput(value: string): void;
    private get maxPhoneLength();
    private calculateMask;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPhone, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputPhone, "input[tuiInputPhone]", never, { "allowTextSetter": { "alias": "allowText"; "required": false; }; "maskSetter": { "alias": "mask"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithTextfield; inputs: {}; outputs: {}; }, { directive: typeof i2.MaskitoDirective; inputs: {}; outputs: {}; }]>;
}
