import { TemplateRef } from '@angular/core';
import type { MaskitoOptions } from '@maskito/core';
import { TuiControl } from '@taiga-ui/cdk/classes';
import type { TuiCountryIsoCode } from '@taiga-ui/i18n/types';
import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
import type { MetadataJson } from 'libphonenumber-js/core';
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/core/directives/group";
import * as i2 from "@taiga-ui/core/directives/dropdown";
/** @deprecated use version from experimental package instead */
export declare class TuiInputPhoneInternational extends TuiControl<string> {
    private readonly input?;
    private readonly filter?;
    private readonly listOptions?;
    protected readonly isIos: boolean;
    protected readonly dropdown: import("@angular/core").WritableSignal<import("@taiga-ui/polymorpheus").PolymorpheusComponent<unknown> | import("@taiga-ui/polymorpheus").PolymorpheusPrimitive | import("@taiga-ui/polymorpheus").PolymorpheusHandler<any> | import("@taiga-ui/polymorpheus").PolymorpheusTemplate<"" | Partial<any>> | TemplateRef<Partial<any>>>;
    protected readonly options: import("./input-phone-international.options").TuiInputPhoneInternationalOptions;
    protected readonly size: import("@angular/core").WritableSignal<"m" | "l" | "s">;
    protected readonly open: import("@angular/core").WritableSignal<boolean>;
    protected readonly names: import("@angular/core").Signal<Record<TuiCountryIsoCode, string> | undefined>;
    protected readonly metadata: import("@angular/core").Signal<MetadataJson | undefined>;
    protected readonly countries: import("@angular/core").WritableSignal<readonly TuiCountryIsoCode[]>;
    protected readonly countryIsoCode: import("@angular/core").WritableSignal<TuiCountryIsoCode>;
    protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
    protected readonly label: import("@angular/core").Signal<string | undefined>;
    protected readonly search: import("@angular/core").WritableSignal<string>;
    protected readonly separator: import("@angular/core").WritableSignal<string>;
    protected readonly filtered: import("@angular/core").Signal<{
        iso: TuiCountryIsoCode;
        name: string;
        code: string;
    }[]>;
    protected readonly mask: import("@angular/core").Signal<MaskitoOptions | null>;
    protected readonly $: import("@angular/core").Signal<boolean>;
    protected textfieldValue: string;
    countrySearch: boolean;
    readonly countryIsoCodeChange: import("rxjs").Observable<TuiCountryIsoCode>;
    set countriesValue(value: readonly TuiCountryIsoCode[]);
    set isoCode(code: TuiCountryIsoCode);
    focusFirstItem(): void;
    onPaste(event: Event): void;
    onItemClick(isoCode: TuiCountryIsoCode): void;
    writeValue(unmaskedValue: string): void;
    protected set template(template: PolymorpheusContent);
    protected onFocus(): void;
    protected onValueChange(maskedValue: string): void;
    protected onKeyDown({ key }: KeyboardEvent): void;
    private computeMask;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPhoneInternational, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPhoneInternational, "tui-input-phone-international", never, { "countrySearch": { "alias": "countrySearch"; "required": false; }; "countriesValue": { "alias": "countries"; "required": false; }; "isoCode": { "alias": "countryIsoCode"; "required": false; }; }, { "countryIsoCodeChange": "countryIsoCodeChange"; }, never, ["tui-icon, img", "*"], true, [{ directive: typeof i1.TuiGroup; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithDropdownOpen; inputs: {}; outputs: {}; }]>;
}
