import { type Signal } from '@angular/core';
import { TuiControl } from '@taiga-ui/cdk/classes';
import { type TuiDataListHost } from '@taiga-ui/core/components/data-list';
import { TuiDropdownDirective } from '@taiga-ui/core/portals/dropdown';
import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/core/directives/appearance";
import * as i2 from "@taiga-ui/core/portals/dropdown";
import * as i3 from "./input-card-group.directive";
export interface TuiCard {
    card: string;
    cvc: string;
    expire: string;
}
export declare class TuiInputCardGroup extends TuiControl<TuiCard | null> implements TuiDataListHost<Partial<TuiCard>> {
    private readonly inputCard;
    private readonly inputExpire;
    private readonly inputCVC;
    private readonly doc;
    private readonly isServer;
    private readonly focus$;
    private readonly expirePrefilled;
    private readonly paymentSystems;
    private readonly options;
    private readonly el;
    private readonly hover;
    private readonly focusedIn;
    protected readonly cvcMask: Signal<import("@maskito/core").MaskitoOptions>;
    protected readonly cvcHidden: boolean;
    protected readonly dateTexts: Signal<Record<import("@taiga-ui/cdk/date-time").TuiDateMode, string>>;
    protected readonly expirePlaceholder: Signal<string>;
    protected readonly cvcPlaceholder: Signal<string>;
    protected readonly cvcPrefilled: Signal<boolean>;
    protected readonly cardPrefilled: Signal<boolean>;
    protected readonly focusable: Signal<boolean>;
    protected readonly expireFocusable: Signal<boolean>;
    protected readonly isMobile: boolean;
    protected readonly isWebkit: boolean;
    protected readonly dropdown: TuiDropdownDirective;
    protected readonly maskCard: import("@maskito/core").MaskitoOptions;
    protected readonly maskExpire: Required<import("@maskito/core").MaskitoOptions>;
    protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
    protected readonly textfield: import("@taiga-ui/core/components/textfield").TuiTextfieldOptions;
    protected readonly texts: Signal<import("./input-card-group.providers").TuiCardGroupedTexts>;
    protected readonly open: import("@angular/core").ModelSignal<boolean>;
    protected readonly $: import("rxjs").Subscription | import("rxjs").Observable<never>;
    protected readonly card: Signal<string>;
    protected readonly expire: Signal<string>;
    protected readonly cvc: Signal<string>;
    protected readonly m: Signal<string | readonly string[] | null>;
    protected readonly appearance: Signal<string>;
    protected readonly state: Signal<unknown>;
    protected readonly focus: Signal<boolean | null>;
    protected readonly labelRaised: Signal<boolean>;
    protected readonly hasCleaner: Signal<boolean | "">;
    protected readonly bin: Signal<string | null>;
    protected readonly content: Signal<PolymorpheusContent>;
    readonly placeholder: import("@angular/core").InputSignal<string>;
    readonly inputs: import("@angular/core").InputSignal<import("./input-card-group.options").TuiCardInputs>;
    readonly cardValidator: import("@angular/core").InputSignal<import("@taiga-ui/cdk/types").TuiBooleanHandler<string>>;
    readonly icon: import("@angular/core").InputSignal<PolymorpheusContent>;
    readonly id: import("@angular/core").InputSignal<string>;
    readonly codeLength: import("@angular/core").InputSignal<3 | 4 | undefined>;
    readonly binChange: import("@angular/core").OutputEmitterRef<string | null>;
    writeValue(value: TuiCard | null): void;
    focusCard(): void;
    focusExpire(): void;
    focusCVC(): void;
    handleOption(option: Partial<TuiCard> | null): void;
    clear(): void;
    protected get cardCollapsed(): boolean;
    protected onResize(): void;
    protected onCardChange(card: string): void;
    protected onExpireChange(expire: string): void;
    protected onCVCChange(cvc: string): void;
    protected getStyle({ offsetWidth }: HTMLSpanElement): string;
    protected onPointerDown(event: MouseEvent): void;
    protected toggle(): void;
    private updateBin;
    private updateProperty;
    private focusInput;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputCardGroup, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputCardGroup, "tui-input-card-group", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "inputs": { "alias": "inputs"; "required": false; "isSignal": true; }; "cardValidator": { "alias": "cardValidator"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "codeLength": { "alias": "codeLength"; "required": false; "isSignal": true; }; }, { "binChange": "binChange"; }, never, ["*"], true, [{ directive: typeof i1.TuiAppearance; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiInputCardGroupDirective; inputs: { "compact": "compact"; }; outputs: {}; }]>;
}
