import { PropertyValues, nothing } from 'lit';
import { Control } from '../forms';
import { Icon } from '../icon';
import { Menu, MenuItem } from '../menu';
import { Dropdown } from '../dropdown';
import { Tag } from '../tag';
/**
 * @element nve-select
 * @description A select is a control that enables users to select an option from a list of options.
 * @since 0.3.0
 * @entrypoint \@nvidia-elements/core/select
 * @cssprop --padding
 * @cssprop --font-size
 * @cssprop --height
 * @cssprop --background
 * @cssprop --color
 * @cssprop --border-radius
 * @cssprop --border
 * @cssprop --border-bottom
 * @cssprop --cursor
 * @cssprop --font-weight
 * @cssprop --text-align
 * @cssprop --scroll-height
 * @cssprop --width
 * @cssprop --control-width
 * @cssprop --max-width
 * @cssprop --min-width
 * @cssprop --box-shadow
 * @cssprop --max-height
 * @cssprop --text-transform
 * @csspart tag
 * @csspart menu - The dropdown menu element
 * @csspart menu-item - The menu item elements
 * @csspart icon - The icon element
 * @csspart caret - The caret/chevron icon element
 * @csspart dropdown - The dropdown popup element
 * @slot - Select input element
 * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select
 */
export declare class Select extends Control {
    #private;
    static styles: import('lit').CSSResult[];
    static readonly metadata: {
        tag: string;
        version: string;
    };
    static elementDefinitions: {
        [Icon.metadata.tag]: typeof Icon;
        [Dropdown.metadata.tag]: typeof Dropdown;
        [Menu.metadata.tag]: typeof Menu;
        [MenuItem.metadata.tag]: typeof MenuItem;
        [Tag.metadata.tag]: typeof Tag;
    };
    /** Flat container option applies when embedding the component within another containing element */
    container?: 'flat' | 'inline';
    /** Updates internal string values for internationalization. */
    i18n: Partial<import('../internal').I18nStrings & {
        __set: boolean;
    }>;
    protected get prefixContent(): typeof nothing | import('lit-html').TemplateResult<1>;
    protected get suffixContent(): import('lit-html').TemplateResult<1>;
    firstUpdated(props: PropertyValues<this>): Promise<void>;
    disconnectedCallback(): void;
    updated(props: PropertyValues<this>): Promise<void>;
}
