import { type MaskitoOptions } from '@maskito/core';
import { TuiDay, TuiTime } from '@taiga-ui/cdk/date-time';
import { type TuiCalendar } from '@taiga-ui/core/components/calendar';
import { type TuiTextfieldAccessor } from '@taiga-ui/core/components/textfield';
import { TuiInputDateBase } from '@taiga-ui/kit/components/input-date';
import * as i0 from "@angular/core";
import * as i1 from "@maskito/angular";
import * as i2 from "@taiga-ui/core/portals/dropdown";
import * as i3 from "@taiga-ui/core/directives/items-handlers";
import * as i4 from "@taiga-ui/core/components/input";
export declare class TuiInputDateTimeDirective extends TuiInputDateBase<readonly [TuiDay, TuiTime | null]> implements TuiTextfieldAccessor<readonly [TuiDay, TuiTime | null]> {
    private readonly timeFillers;
    protected readonly options: import("./input-date-time.options").TuiInputDateTimeOptions;
    protected readonly filler: import("@angular/core").Signal<string>;
    protected readonly valueEffect: import("@angular/core").EffectRef;
    protected readonly identity: import("@angular/core").WritableSignal<(a: any, b: any) => boolean>;
    protected readonly disabledItemHandler: import("@angular/core").Signal<(value: readonly [TuiDay, TuiTime | null] | null) => boolean>;
    protected readonly mask: import("@angular/core").Signal<MaskitoOptions>;
    readonly min: import("@angular/core").Signal<TuiDay>;
    readonly max: import("@angular/core").Signal<TuiDay>;
    readonly minTime: import("@angular/core").Signal<any>;
    readonly maxTime: import("@angular/core").Signal<any>;
    readonly timeMode: import("@angular/core").InputSignal<import("@maskito/kit").MaskitoTimeMode>;
    readonly minInput: import("@angular/core").InputSignal<TuiDay | readonly [TuiDay, TuiTime | null] | null>;
    readonly maxInput: import("@angular/core").InputSignal<TuiDay | readonly [TuiDay, TuiTime | null] | null>;
    setValue(value: readonly [TuiDay, TuiTime | null] | null): void;
    setDate(newDate: TuiDay): void;
    writeValue(value: [TuiDay, TuiTime | null] | null): void;
    protected processCalendar(calendar: TuiCalendar): void;
    protected onValueChange(value: string): void;
    protected stringify(value: readonly [TuiDay, TuiTime | null] | null): string;
    protected onBlur(valueWithAffixes: string): void;
    private clampTime;
    private computeMask;
    private toNativeDate;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateTimeDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputDateTimeDirective, "input[tuiInputDateTime]", never, { "timeMode": { "alias": "timeMode"; "required": false; "isSignal": true; }; "minInput": { "alias": "min"; "required": false; "isSignal": true; }; "maxInput": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.MaskitoDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownAuto; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiItemsHandlersValidator; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithInput; inputs: {}; outputs: {}; }]>;
}
