import type { MaskitoOptions } from '@maskito/core';
import type { MaskitoTimeMode } from '@maskito/kit';
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/directives/dropdown";
import * as i3 from "@taiga-ui/core/directives/items-handlers";
import * as i4 from "@taiga-ui/core/components/textfield";
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 valueEffect: import("@angular/core").EffectRef;
    protected readonly identity: void;
    protected readonly disabledItemHandler: import("@angular/core").WritableSignal<(value: readonly [TuiDay, TuiTime | null] | null) => boolean>;
    protected readonly mask: import("@angular/core").Signal<MaskitoOptions | null>;
    readonly timeMode: import("@angular/core").WritableSignal<MaskitoTimeMode>;
    readonly minTime: import("@angular/core").WritableSignal<TuiTime>;
    readonly maxTime: import("@angular/core").WritableSignal<TuiTime>;
    set timeModeSetter(x: MaskitoTimeMode);
    set minSetter(min: TuiDay | readonly [TuiDay, TuiTime | null] | null);
    set maxSetter(max: 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;
    private clampTime;
    private computeMask;
    private toNativeDate;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateTimeDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputDateTimeDirective, "input[tuiInputDateTime]", never, { "timeModeSetter": { "alias": "timeMode"; "required": false; }; "minSetter": { "alias": "min"; "required": false; }; "maxSetter": { "alias": "max"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.MaskitoDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownAuto; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiItemsHandlersValidator; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
}
