import { ElementRef, EventEmitter, QueryList } from '@angular/core';
import { GlobalSearchDropdownItemComponent } from './components/dropdown/global-search-dropdown-item.component';
import * as i0 from "@angular/core";
/**
 * @description Componente de busca global com input, dropdown de resultados, estado
 * de carregamento, empty state e suporte a itens customizáveis via `GlobalSearchDropdownItemComponent`.
 *
 * @example
 * ```html
 * <s-global-search
 *   totalItensLabel="resultados"
 *   showMoreLabel="Ver mais"
 *   [totalElements]="total"
 *   (search)="onBusca($event)" />
 * ```
 *
 * @category Structure
 */
export declare class GlobalSearchComponent {
    private readonly _cdr;
    static nextId: number;
    globalSearch: ElementRef | null;
    /** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
    id: string;
    /** @description Tempo de debounce em ms antes de emitir o evento de busca. @default 500 */
    delay: number;
    /** @description Label que acompanha o total de resultados. Campo obrigatório. */
    totalItensLabel: string;
    /** @description Rótulo do link para exibir mais resultados. Campo obrigatório. */
    showMoreLabel: string;
    /** @description Placeholder do input de busca. */
    placeholder?: string;
    /** @description Exibe indicador de carregamento no dropdown. @default false */
    isLoading: boolean;
    /** @description Número total de resultados encontrados. */
    totalElements?: number;
    /** @description Título do empty state quando não há resultados. */
    emptyTitle?: string;
    /** @description Descrição do empty state exibida abaixo do título. */
    emptyDescription?: string;
    /** @description Classe do ícone exibido no empty state. */
    emptyIcon?: string;
    /** @description Exibe o rodapé com o link "ver mais" e contagem de resultados. @default true */
    showFooter: boolean;
    dropdownItens: QueryList<GlobalSearchDropdownItemComponent> | null;
    /** @description Emitido ao digitar no campo de busca, com o valor atual da pesquisa. */
    searched: EventEmitter<string>;
    /** @description Emitido quando o campo de busca ganha ou perde foco (`true` = focado). */
    focused: EventEmitter<boolean>;
    /** @description Emitido ao clicar no link para exibir mais resultados. */
    moreShown: EventEmitter<void>;
    search: string | null;
    wasSearched: boolean;
    isModalLoading: boolean;
    expanded: boolean;
    onChange(): void;
    focusIn(): void;
    focusOut(): void;
    showMore(): void;
    close(): void;
    private _removeActiveClassByGlobalSearch;
    private _canShowGlobalSearchActive;
    static ɵfac: i0.ɵɵFactoryDeclaration<GlobalSearchComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GlobalSearchComponent, "s-global-search", never, { "id": { "alias": "id"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; "totalItensLabel": { "alias": "totalItensLabel"; "required": true; }; "showMoreLabel": { "alias": "showMoreLabel"; "required": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "totalElements": { "alias": "totalElements"; "required": false; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; }, { "searched": "searched"; "focused": "focused"; "moreShown": "moreShown"; }, ["dropdownItens"], never, true, never>;
}
