import { EventEmitter } from '../../stencil-public-runtime';
export declare class PdsSelect {
    private selectEl;
    private slotContainer;
    /**
     * Specifies if and how the browser provides `autocomplete` assistance for the field.
     */
    autocomplete: string;
    /**
     * A unique identifier used for the underlying component `id` attribute.
     */
    componentId: string;
    /**
     * Indicates whether or not the select field is disabled.
     * @defaultValue false
     */
    disabled: boolean;
    /**
     * Displays error message text describing an invalid state.
     */
    errorMessage: string;
    /**
     * Displays helper message text below select.
     */
    helperMessage: string;
    /**
     * Determines whether or not the select is invalid.
     */
    invalid?: boolean;
    /**
     * Text to be displayed as the select label.
     */
    label: string;
    /**
     * Indicates whether multiple options can be selected.
     * @defaultValue false
     */
    multiple: boolean;
    /**
     * Specifies the name. Submitted with the form name/value pair.
     */
    name: string;
    /**
     * Indicates whether or not the select field is required.
     * @defaultValue false
     */
    required: boolean;
    /**
     * The value(s) of the selected option(s).
     *
     */
    value?: string | string[];
    /**
     * Emitted when a keyboard input occurs.
     */
    pdsSelectChange: EventEmitter<InputEvent>;
    /**
     * Handles the change in the value of the select component.
     * This method is called whenever the value of the select component changes.
     * It updates the selected option accordingly.
     */
    valueChanged(): void;
    componentWillLoad(): void;
    /**
     * Updates the selected option in the select element based on the current value.
     *
     * This method iterates through all the options of the select element and sets the
     * 'selected' attribute on the option that matches the current value. If an option
     * does not match the current value, the 'selected' attribute is removed.
     *
     * @private
     * @returns {void}
     */
    private updateSelectedOption;
    /**
     * Emits an event on input change.
    */
    private onSelectUpdate;
    /**
     * Handles the change event for the slot element.
     * This method is triggered when the slot content changes.
     * It updates the inner HTML of the select element by cloning and appending
     * the assigned <option> elements from the slot.
     */
    private handleSlotChange;
    private getHelperMessage;
    private getErrorMessage;
    private renderMessages;
    private classNames;
    render(): any;
}
