/*!
 * @license
 * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { AuthenticationService, SearchTextInputComponent, ThumbnailService } from '@alfresco/adf-core';
import { EventEmitter, TemplateRef } from '@angular/core';
import { NodeEntry } from '@alfresco/js-api';
import { Subject } from 'rxjs';
import { SearchComponent } from './search.component';
import { EmptySearchResultComponent } from './empty-search-result.component';
import * as i0 from "@angular/core";
export declare class SearchControlComponent {
    authService: AuthenticationService;
    private thumbnailService;
    /** Toggles highlighting of the search term in the results. */
    highlight: boolean;
    /** Type of the input field to render, e.g. "search" or "text" (default). */
    inputType: string;
    /** Toggles "find-as-you-type" suggestions for possible matches. */
    liveSearchEnabled: boolean;
    /** Toggles auto-completion of the search input field. */
    autocomplete: boolean;
    /**
     * Toggles whether to use an expanding search control. If false
     * then a regular input is used.
     */
    expandable: boolean;
    /** Maximum number of results to show in the live search. */
    liveSearchMaxResults: number;
    /**
     * Emitted when the search is submitted by pressing the ENTER key.
     * The search term is provided as the value of the event.
     */
    submit: EventEmitter<any>;
    /**
     * Emitted when the search term is changed. The search term is provided
     * in the 'value' property of the returned object.  If the term is less
     * than three characters in length then it is truncated to an empty
     * string.
     */
    searchChange: EventEmitter<string>;
    /** Emitted when a file item from the list of "find-as-you-type" results is selected. */
    optionClicked: EventEmitter<any>;
    searchTextInput: SearchTextInputComponent;
    searchAutocomplete: SearchComponent;
    private listResultElement;
    emptySearchTemplate: EmptySearchResultComponent;
    focusSubject: Subject<FocusEvent>;
    noSearchResultTemplate: TemplateRef<any>;
    searchTerm: string;
    constructor(authService: AuthenticationService, thumbnailService: ThumbnailService);
    isNoSearchTemplatePresent(): boolean;
    isLoggedIn(): boolean;
    inputChange(value: string): void;
    getMimeTypeIcon(node: NodeEntry): string;
    getMimeType(node: NodeEntry): string;
    elementClicked(item: any): void;
    onFocus(event: FocusEvent): void;
    onBlur(event: FocusEvent): void;
    onSelectFirstResult(): void;
    onRowArrowDown(event: Event): void;
    onRowArrowUp(event: Event): void;
    onReset(status: boolean): void;
    private isListElement;
    private getNextElementSibling;
    private getPreviousElementSibling;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchControlComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchControlComponent, "adf-search-control", never, { "highlight": { "alias": "highlight"; "required": false; }; "inputType": { "alias": "inputType"; "required": false; }; "liveSearchEnabled": { "alias": "liveSearchEnabled"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; "liveSearchMaxResults": { "alias": "liveSearchMaxResults"; "required": false; }; }, { "submit": "submit"; "searchChange": "searchChange"; "optionClicked": "optionClicked"; }, ["emptySearchTemplate"], ["*"], true, never>;
}
