import { nothing, PropertyValues } from 'lit';
import { InputSize } from '../../shared/types';
export type LuksoDropdownOnChangeEventDetail = {
    isOpen: boolean;
};
export type LuksoDropdownTrigger = 'click' | 'hover';
declare const LuksoDropdown_base: typeof import('lit').LitElement;
/**
 * A floating dropdown panel that positions absolutely relative to its trigger element.
 *
 * @slot - Dropdown content, typically `lukso-dropdown-option` elements.
 */
export declare class LuksoDropdown extends LuksoDropdown_base {
    id: string;
    triggerId: string;
    isOpen: boolean;
    isOpenOnOutsideClick: boolean;
    openTop: boolean;
    isRight: boolean;
    isFullWidth: boolean;
    size: InputSize;
    trigger: LuksoDropdownTrigger;
    maxHeight: any;
    customClass: string;
    private boundHandleClick?;
    constructor();
    private styles;
    private handleMouseEnter;
    private handleMouseLeave;
    updated(changedProperties: PropertyValues<this>): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    willUpdate(changedProperties: PropertyValues<this>): Promise<void>;
    private handleClick;
    render(): import('lit-html').TemplateResult<1> | typeof nothing;
}
declare global {
    interface HTMLElementTagNameMap {
        'lukso-dropdown': LuksoDropdown;
    }
}
export {};
//# sourceMappingURL=index.d.ts.map