import { BootstrapElement, type Placement, type Size, type Variant } from '@bootstrap-wc/core'; export type DropDirection = 'down' | 'up' | 'end' | 'start' | 'center' | 'up-center'; /** * `` — Bootstrap dropdown menu with floating-ui positioning. * * Slot the trigger as a default child (e.g. ``) and menu items via * `slot="menu"`. * * @fires bs-show - before opening. * @fires bs-shown - after opening. * @fires bs-hide - before closing. * @fires bs-hidden - after closing. */ export declare class BsDropdown extends BootstrapElement { label: string; variant: Variant; size?: Size; placement?: Placement; drop: DropDirection; open: boolean; noCaret: boolean; autoClose: boolean; split: boolean; menuEnd: boolean; menuDark: boolean; toggleTag: 'button' | 'a'; /** * Render the trigger as a flat `` for use * inside a `.navbar-nav`. Suppresses the `btn` / `btn-{variant}` classes — * those are correct for stand-alone buttons but produce an out-of-place gray * pill in a navbar. Implies `toggle-tag="a"`. */ nav: boolean; private _slottedTrigger; private _toggleEl; private _menuEl; private _floating; /** Resolve the effective placement based on `placement` (explicit) or `drop`. */ private _effectivePlacement; connectedCallback(): void; disconnectedCallback(): void; private _slotObserver?; /** * Walk our light-DOM children and fill in `slot="menu"` for any that don't * already have a slot. Idempotent. Skips comment/text nodes and elements * that already declare a slot (e.g. `slot="label"` for a custom trigger * label). */ private _autoSlotChildren; updated(changed: Map): void; /** Show the menu. */ show(): void; /** Hide the menu. */ hide(): void; /** Toggle the menu. */ toggle(): void; private _onToggleClick; private _onDocClick; private _onKeydown; private _wrapperClasses; render(): import("lit-html").TemplateResult<1>; } /** `` — single item inside a dropdown. */ export declare class BsDropdownItem extends BootstrapElement { href?: string; disabled: boolean; active: boolean; divider: boolean; header: boolean; text: boolean; as: 'a' | 'button'; private _onClick; render(): import("lit-html").TemplateResult<1>; } export { BsDropdownMenu } from './dropdown-menu.js'; import './dropdown-menu.js'; declare global { interface HTMLElementTagNameMap { 'bs-dropdown': BsDropdown; 'bs-dropdown-item': BsDropdownItem; } } //# sourceMappingURL=dropdown.d.ts.map