import { CdkConnectedOverlay } from '@angular/cdk/overlay';
import { AfterContentInit, EventEmitter, OnDestroy } from '@angular/core';
import { KbqFormFieldRef } from '../form-field';
import * as i0 from "@angular/core";
export declare class KbqSelectTrigger {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectTrigger, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectTrigger, "kbq-select-trigger, [kbq-select-trigger]", never, {}, {}, never, never, true, never>;
}
export declare class KbqSelectMatcher {
    useDefaultHandlers: boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectMatcher, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectMatcher, "kbq-select-matcher, [kbq-select-matcher]", never, { "useDefaultHandlers": { "alias": "useDefaultHandlers"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_useDefaultHandlers: unknown;
}
export declare class KbqSelectFooter {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectFooter, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectFooter, "kbq-select-footer, [kbq-select-footer]", never, {}, {}, never, never, true, never>;
}
export declare class KbqSelectSearch implements AfterContentInit, OnDestroy {
    protected formField: KbqFormFieldRef;
    readonly changes: EventEmitter<string>;
    isSearchChanged: boolean;
    get ngControl(): any;
    private searchChangesSubscription;
    constructor(formField: KbqFormFieldRef);
    setPlaceholder(value: string): void;
    hasPlaceholder(): boolean;
    focus(): void;
    reset(): void;
    value(): any;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    handleKeydown(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearch, [{ optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearch, "[kbqSelectSearch]", ["kbqSelectSearch"], {}, {}, never, never, true, never>;
}
export declare class KbqSelectSearchEmptyResult {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearchEmptyResult, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearchEmptyResult, "[kbq-select-search-empty-result]", ["kbqSelectSearchEmptyResult"], {}, {}, never, never, true, never>;
}
/**
 * Abstract class representing a customizable select component with an overlay.
 *
 * This class provides base functionality for handling the overlay positioning.
 * @docs-private
 */
export declare abstract class KbqAbstractSelect {
    protected overlayDir: CdkConnectedOverlay;
    protected triggerRect: DOMRect;
    /** Overlay panel class. */
    protected readonly overlayPanelClass = "kbq-select-overlay";
    protected setOverlayPosition(): void;
    protected calculateOverlayOffsetX(baseOffsetX: number): number[];
    protected getOverlayRect(): DOMRect;
    protected resetOverlay(): void;
    protected resolveSearchMinOptionsThreshold(value?: 'auto' | number): number | undefined;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqAbstractSelect, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqAbstractSelect, never, never, {}, {}, never, never, false, never>;
}
