import { EventEmitter, ElementRef, OnDestroy } from '@angular/core';
import { Router } from '@angular/router';
import { DocsSearchMetadata, DocsSearchResult } from './types';
import * as i0 from "@angular/core";
/**
 * val-docs-search
 *
 * A search component for documentation with keyboard navigation support.
 * Supports Cmd+K / Ctrl+K shortcut to open.
 *
 * @example
 * ```html
 * <val-docs-search
 *   [props]="{
 *     placeholder: 'Search docs...',
 *     sections: sidebarSections,
 *     showShortcut: true
 *   }"
 *   (navigate)="onNavigate($event)"
 * ></val-docs-search>
 * ```
 */
export declare class DocsSearchComponent implements OnDestroy {
    private router;
    props: DocsSearchMetadata;
    navigate: EventEmitter<string[]>;
    search: EventEmitter<string>;
    searchInputEl?: ElementRef<HTMLInputElement>;
    protected searchQuery: import("@angular/core").WritableSignal<string>;
    protected showResults: import("@angular/core").WritableSignal<boolean>;
    protected selectedIndex: import("@angular/core").WritableSignal<number>;
    private searchSubject;
    private destroy$;
    readonly isMac: boolean;
    protected results: import("@angular/core").Signal<DocsSearchResult[]>;
    constructor(router: Router);
    ngOnDestroy(): void;
    onGlobalKeydown(event: KeyboardEvent): void;
    onQueryChange(query: string): void;
    onFocus(): void;
    onBlur(): void;
    onInputKeydown(event: KeyboardEvent): void;
    selectResult(result: DocsSearchResult): void;
    clearSearch(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DocsSearchComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DocsSearchComponent, "val-docs-search", never, { "props": { "alias": "props"; "required": false; }; }, { "navigate": "navigate"; "search": "search"; }, never, never, true, never>;
}
