import '//resources/cr_components/searchbox/searchbox_dropdown.js';
import '//resources/cr_components/searchbox/searchbox_input.js';
import type { SearchboxDropdownElement } from '//resources/cr_components/searchbox/searchbox_dropdown.js';
import type { SearchboxInputElement } from '//resources/cr_components/searchbox/searchbox_input.js';
import type { SearchboxMixinInterface } from '//resources/cr_components/searchbox/searchbox_mixin.js';
import type { PropertyValues } from '//resources/lit/v3_0/lit.rollup.js';
import { CrLitElement } from '//resources/lit/v3_0/lit.rollup.js';
import type { AutocompleteResult, PageHandlerInterface as SearchboxPageHandlerInterface } from '//resources/mojo/components/omnibox/browser/searchbox.mojom-webui.js';
export interface OmniboxPopupSearchboxElement {
    $: {
        input: SearchboxInputElement;
        inputWrapper: HTMLElement;
        matches: SearchboxDropdownElement;
    };
}
declare const OmniboxPopupSearchboxElementBase: typeof CrLitElement & (new (...args: any[]) => import("//resources/cr_elements/web_ui_listener_mixin_lit.js").WebUiListenerMixinLitInterface) & (new (...args: any[]) => import("//resources/cr_elements/i18n_mixin_lit.js").I18nMixinLitInterface) & (new (...args: any[]) => SearchboxMixinInterface);
export declare class OmniboxPopupSearchboxElement extends OmniboxPopupSearchboxElementBase implements SearchboxMixinInterface {
    static get is(): string;
    static get styles(): import("//resources/lit/v3_0/lit.rollup.js").CSSResultGroup;
    render(): import("//resources/lit/v3_0/lit.rollup.js").TemplateResult<1>;
    static get properties(): {
        placeholderText: {
            type: StringConstructor;
            reflect: boolean;
            notify: boolean;
        };
        searchboxChromeRefreshTheming: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        searchboxSteadyStateShadow: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        searchboxIcon_: {
            type: StringConstructor;
        };
        searchboxVoiceSearchEnabled_: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        searchboxLensSearchEnabled_: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        useWebkitSearchIcons_: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        isTouchUi_: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        omniboxPopupDebugEnabled_: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        multiLineEnabled: {
            type: BooleanConstructor;
            reflect: boolean;
        };
    };
    accessor placeholderText: string;
    accessor searchboxChromeRefreshTheming: boolean;
    accessor searchboxSteadyStateShadow: boolean;
    protected accessor searchboxIcon_: string;
    protected accessor searchboxVoiceSearchEnabled_: boolean;
    protected accessor searchboxLensSearchEnabled_: boolean;
    protected accessor useWebkitSearchIcons_: boolean;
    accessor multiLineEnabled: boolean;
    protected accessor isTouchUi_: boolean;
    protected accessor omniboxPopupDebugEnabled_: boolean;
    private eventTracker_;
    private searchboxPageHandler_;
    private searchboxCallbackRouter_;
    private popupCallbackRouter_;
    private popupPageHandler_;
    private listenerIds_;
    private popupListenerIds_;
    private currentSequenceNum_;
    private userInputInProgress_;
    private isComposing_;
    private fullUrl_;
    private pendingFocusSelection_;
    private permanentDisplayText_;
    private fullUrlShown_;
    private deferredFocusAction_;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    willUpdate(changedProperties: PropertyValues<this>): void;
    firstUpdated(changedProperties: PropertyValues<this>): void;
    focusInput(): void;
    getInputElement(): SearchboxInputElement;
    getDropdownElement(): SearchboxDropdownElement;
    getWrapperElement(): HTMLElement;
    pageHandler(): SearchboxPageHandlerInterface;
    /**
     * Clears frontend autocomplete matches and reverts C++ `OmniboxEditModel`.
     * Kept separate from `clearAutocompleteMatches()`, which is called internally
     * by `SearchboxMixin` when selecting suggestions or blurring the input.
     */
    revert(): void;
    updateDropdownVisibility(): void;
    isInputEmpty(): boolean;
    protected shouldShowVoiceLens_(isEnabled: boolean): boolean;
    isAutocompleteResultStale(result: AutocompleteResult): boolean;
    onInputFocusChanged(e: CustomEvent<{
        value: string;
    }>): void;
    protected onInputMousedown_(): void;
    protected onInputKeydown_(e: CustomEvent<{
        key: string;
    }>): void;
    protected onInputPaste_(e: ClipboardEvent): void;
    protected showFullUrlOnDeselect_(): void;
    private isChromeScheme_;
    /**
     * Reports selection changes back to C++.
     */
    private onSelectionChanged_;
    /**
     * Sets the input text and applies selection range synchronously regardless of
     * focus.
     */
    private onSetInputState_;
    /**
     * Called by C++ via `SetFocus` Mojo IPC when the browser refocuses the
     * Omnibox while the popup is already open (or during tab restoration). If the
     * document is visible, focuses and selects all input text immediately.
     * If hidden, defers the action until `visibilitychange`.
     */
    private onSetFocus_;
    /**
     * Applies `selection` to `#input`. If a partial sub-range is requested while
     * displaying an elided URL, unelides `fullUrl_` first before selecting.
     */
    private selectRange;
    private maybeShowFullUrl_;
    protected onInputFocusin_(): void;
    /**
     * Executes deferred focus (`FOCUS` / `FOCUS_AND_SELECT`) when the tab
     * transitions from hidden to visible (`document.visibilityState ===
     * 'visible'`).
     */
    private onVisibilityChange_;
    protected computePlaceholderText_(): string;
    protected onSearchboxInputTextUpdated_(e: CustomEvent<{
        value: string;
        isComposing: boolean;
    }>): void;
    onInputWrapperFocusout(e: FocusEvent): void;
    protected onVoiceSearchClick_(): void;
    protected onLensSearchClick_(): void;
    handleKeyNavigation(e: KeyboardEvent): Promise<void>;
}
declare global {
    interface HTMLElementTagNameMap {
        'omnibox-popup-searchbox': OmniboxPopupSearchboxElement;
    }
}
export {};
