import { TuiControl } from '@taiga-ui/cdk/classes';
import { type TuiStringMatcher } from '@taiga-ui/cdk/types';
import { type TuiTextfieldAccessor } from '@taiga-ui/core/components/textfield';
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/core/components/input";
export declare class TuiComboBoxDirective<T> extends TuiControl<T | string | null> implements TuiTextfieldAccessor<T> {
    private readonly el;
    private readonly host;
    private readonly input;
    private readonly open;
    private readonly dropdownEnabled;
    private readonly dropdown;
    private readonly handlers;
    private readonly datalist;
    private readonly options;
    protected readonly nonStrictControlEffect: import("@angular/core").EffectRef;
    protected readonly matchingEffect: import("@angular/core").EffectRef;
    protected readonly newValueEffect: import("@angular/core").EffectRef;
    protected readonly blurEffect: import("@angular/core").EffectRef;
    readonly strict: import("@angular/core").InputSignal<boolean>;
    readonly matcher: import("@angular/core").InputSignal<TuiStringMatcher<T> | null>;
    setValue(value: T | null): void;
    writeValue(value: T | string | null): void;
    protected toggleDropdown(open?: boolean): void;
    protected keydownEnter(event: KeyboardEvent): void;
    private stringify;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiComboBoxDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiComboBoxDirective<any>, "input[tuiComboBox]", never, { "strict": { "alias": "strict"; "required": false; "isSignal": true; }; "matcher": { "alias": "matcher"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithInput; inputs: {}; outputs: {}; }]>;
}
