import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { Subject, Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class SearchComponent implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit {
    private renderer;
    private i18n;
    private cdr;
    private el;
    constructor(renderer: Renderer2, i18n: I18nService, cdr: ChangeDetectorRef, el: ElementRef);
    /**
     * 【可选】下拉选框尺寸
     */
    size: '' | 'sm' | 'lg';
    /**
     * 【可选】下拉默认显示文字
     */
    placeholder: string;
    maxLength: number;
    isKeyupSearch: boolean;
    delay: number;
    disabled: boolean;
    cssClass: string;
    iconPosition: string;
    noBorder: boolean;
    autoFocus: boolean;
    searchFn: EventEmitter<string>;
    filterInputElement: ElementRef;
    lineElement: ElementRef;
    clearIconElement: ElementRef;
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    clearIconExit: boolean;
    width: number;
    destroy$: Subject<unknown>;
    private onChange;
    private onTouch;
    ngOnInit(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    writeValue(value?: any): void;
    setI18nText(): void;
    clearText(): void;
    inputChange(value: any, event?: any): void;
    inputBlur(): void;
    clickSearch(term: any): void;
    registerFilterChange(): void;
    ngAfterViewInit(): void;
    renderClearIcon(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchComponent, "d-search", ["search"], { "size": "size"; "placeholder": "placeholder"; "maxLength": "maxLength"; "isKeyupSearch": "isKeyupSearch"; "delay": "delay"; "disabled": "disabled"; "cssClass": "cssClass"; "iconPosition": "iconPosition"; "noBorder": "noBorder"; "autoFocus": "autoFocus"; }, { "searchFn": "searchFn"; }, never, never, false>;
}
