import * as polytype from 'polytype';
import * as i0 from '@angular/core';
import * as i7 from '@acorex/cdk/common';
import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
import * as i1 from '@angular/common';
import * as i2 from '@angular/forms';
import * as i3 from '@acorex/core/translation';
import * as i4 from '@acorex/components/decorators';
import * as i5 from '@acorex/components/text-box';
import * as i6 from '@acorex/components/button';

declare const AXSearchBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXInputBaseValueComponent<string>;
    ɵfac: i0.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
    ɵprov: i0.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
}, typeof MXLookComponent]>;
/**
 * @category
 *  Represents a search box component that allows users to input and search text.
 */
declare class AXSearchBoxComponent extends AXSearchBoxComponent_base {
    private _parent;
    /**
     * Defines custom CSS classes to apply to the component.
     */
    classNames: string;
    /**
     * The delay time for search actions, specified in milliseconds.
     * @defaultValue 500
     */
    delayTime: number;
    readonly type: i0.InputSignal<string>;
    /**
     * Determines whether executing the parent search logic is allowed.
     * @defaultValue true
     */
    readonly autoSearch: i0.InputSignal<boolean>;
    /**
     * Handles changes to the model and triggers a search in the parent component if available.
     *
     * @param {string} value
     */
    protected _handleModelChange(value: string): void;
    /** @ignore */
    get __hostClass(): string[];
    private get __hostName();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSearchBoxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXSearchBoxComponent, "ax-search-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "look": { "alias": "look"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; "delayTime": { "alias": "delayTime"; "required": false; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "autoSearch": { "alias": "autoSearch"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix"], true, never>;
}

declare class AXSearchBoxModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSearchBoxModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXSearchBoxModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i3.AXTranslationModule, typeof i4.AXDecoratorModule, typeof i5.AXTextBoxModule, typeof i6.AXButtonModule, typeof i7.AXNgModelDelayedValueChangedDirective, typeof AXSearchBoxComponent], [typeof AXSearchBoxComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXSearchBoxModule>;
}

export { AXSearchBoxComponent, AXSearchBoxModule };
