import { FormComponent } from '@limetech/lime-elements';
import { LimeWebComponentContext, LimeWebComponentPlatform, LimeWebComponent } from '@limetech/lime-web-components';
import { EventEmitter } from '../../../stencil-public-runtime';
import { ComponentPickerType } from '../types';
/**
 * This component is used to provide a more visual way of selecting
 * a custom web component or a command.
 * Instead of manually typing the name of the component,
 * users can visually pick the desired component from a list.
 *
 * @beta
 *
 * @exampleComponent limebb-example-web-component-picker
 * @exampleComponent limebb-example-command-picker
 */
export declare class ComponentPicker implements FormComponent<string>, LimeWebComponent {
    platform: LimeWebComponentPlatform;
    context: LimeWebComponentContext;
    /**
     * The type of items to display in the picker
     */
    type: ComponentPickerType;
    /**
     * The tags to filter the items by
     */
    tags?: string[];
    /**
     * The name of the selected component
     */
    value: string;
    /**
     * The label for the copy button
     */
    copyLabel: string;
    /**
     * Whether to hide the copy button
     */
    hideCopyButton: boolean;
    required: boolean;
    readonly: boolean;
    disabled: boolean;
    label: string;
    helperText: string;
    change: EventEmitter<string>;
    /**
     * Event that is emitted when the value is copied to the clipboard
     *
     * The event detail is the value that was copied
     */
    copy: EventEmitter<string>;
    private host;
    private allItems;
    componentWillLoad(): void;
    private getConfigs;
    private getConfigValue;
    private hasTag;
    private handleBlur;
    private handleChange;
    private handleCopyButton;
    private handleKeyUp;
    private emitIfValidValue;
    private isValidIdentifier;
    render(): any[];
    private renderPicker;
    private renderCopyButton;
    private search;
    private isItemMatching;
    private get currentInput();
    private get webComponentRegistry();
    private get commandbus();
    private get translator();
}
//# sourceMappingURL=component-picker.d.ts.map