import { EventEmitter } from "../../../stencil-public-runtime";
import { LabelPosition } from "../../../common/types";
import { EntityData } from "../../../common/types";
export declare class GxIdeEntitySelector {
    #private;
    el: HTMLGxIdeEntitySelectorElement;
    /**
     * Adds/removes a CSS class on the host. It removes focus-within styles when
     * focus is on a button.
     */
    buttonHasFocus: boolean;
    iconSrc: string;
    /**
     * Default value for the component. Used when the 'X' button is pressed.
     */
    readonly defaultValue?: EntityData | null | undefined;
    /**
     * This attribute lets you specify if the element is disabled.
     */
    readonly disabled: boolean;
    /**
     * The label caption. Only visible if "labelPosition" is not "none".
     * I no "labelCaption" is provided, a generic caption "Select Entity" will be provided
     */
    readonly labelCaption?: string;
    /**
     * The label position
     */
    readonly labelPosition?: LabelPosition;
    /**
     * This property specifies the `name` of the control when used in a form.
     */
    readonly name?: string;
    /**
     * Callback invoked when the action button is pressed. Returns the new value.
     */
    readonly selectEntityCallback: () => Promise<EntityData> | null;
    /**
     * Value currently assigned.
     */
    value: EntityData | null | undefined;
    valueChangedHandler(): void;
    /**
     * Emits the input value every time it changes
     */
    valueChanged: EventEmitter<EntityData>;
    componentWillLoad(): Promise<void>;
    connectedCallback(): void;
    render(): any;
}
export type EntitySelectorLabels = {
    buttonClearLabel: string;
    buttonSelectLabel: string;
};
