import { LitElement, PropertyValueMap } from 'lit';
import { ShadowPartsController } from '../../controllers/shadow-parts-controller';
declare global {
    interface HTMLElementTagNameMap {
        "wy-search": WySearch;
    }
}
/**
 * Search input component.
 *
 * **Used sub components**
 *
 * - [`<wy-button>`](./wy-button.ts)
 * - [`<wy-icon>`](./wy-icon.ts)
 *
 * @fires {SearchEventType} search - Query text when the search is updated. Throttled change as the user is typing.
 *
 * @csspart wy-input - Input field.
 * @csspart wy-input-group - Wrapper for the inputs.
 * @csspart wy-input-group-input - Input field part of an input group.
 * @csspart wy-input-filled - Filled appearance of the input field.
 * @csspart wy-input-group-input-with-overlay - Input field when input and button are combined.
 * @csspart wy-input-group-button-icon - Button part of an input group.
 * @csspart wy-input-group-button-icon-overlay - Button  when input and button are combined.
 */
export declare class WySearch extends LitElement {
    #private;
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    private inputRef;
    /**
     * Text for the input placeholder.
     */
    placeholder?: string;
    /**
     * Whether the component should combine input field and button.
     */
    compact: boolean;
    /**
     * Query tags
     */
    set tags(tags: string | undefined | null);
    get tags(): string | undefined | null;
    /**
     * Query text.
     */
    set query(query: string | undefined | null);
    get query(): string | undefined;
    /**
     * Put focus on the input field.
     */
    focusInput(): void;
    /**
     * Clear the input field.
     */
    clear(): void;
    private throttledSearch;
    protected willUpdate(changedProperties: PropertyValueMap<this>): void;
    render(): import('../../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
}
//# sourceMappingURL=wy-search.d.ts.map