/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import type { WithBoundArgs } from '@glint/template';
import { HdsDropdownPositionValues } from './types.ts';
import HdsDropdownToggleButton from './toggle/button';
import HdsDropdownToggleIcon from './toggle/icon';
import HdsDropdownHeader from './header';
import HdsDropdownListItemCheckbox from './list-item/checkbox';
import HdsDropdownListItemCheckmark from './list-item/checkmark';
import HdsDropdownListItemCopyItem from './list-item/copy-item';
import HdsDropdownListItemDescription from './list-item/description';
import HdsDropdownListItemGeneric from './list-item/generic';
import HdsDropdownListItemInteractive from './list-item/interactive';
import HdsDropdownListItemRadio from './list-item/radio';
import HdsDropdownListItemSeparator from './list-item/separator';
import HdsDropdownListItemTitle from './list-item/title';
import HdsDropdownFooter from './footer';
import type { HdsPopoverPrimitiveSignature } from '../popover-primitive/index';
import type { HdsDropdownPositions } from './types.ts';
import type { HdsAnchoredPositionOptions } from '../../../modifiers/hds-anchored-position.ts';
export declare const DEFAULT_POSITION = HdsDropdownPositionValues.BottomRight;
export declare const POSITIONS: HdsDropdownPositions[];
export interface HdsDropdownSignature {
    Args: {
        height?: string;
        isInline?: boolean;
        isOpen?: HdsPopoverPrimitiveSignature['Args']['isOpen'];
        listPosition?: HdsDropdownPositions;
        width?: string;
        enableCollisionDetection?: HdsAnchoredPositionOptions['enableCollisionDetection'];
        preserveContentInDom?: boolean;
        matchToggleWidth?: boolean;
        onClose?: HdsPopoverPrimitiveSignature['Args']['onClose'];
        onFocusOut?: HdsPopoverPrimitiveSignature['Args']['onFocusOut'];
        boundary?: HdsAnchoredPositionOptions['boundary'];
    };
    Blocks: {
        default: [
            {
                Footer?: typeof HdsDropdownFooter;
                Header?: typeof HdsDropdownHeader;
                Checkbox?: typeof HdsDropdownListItemCheckbox;
                Checkmark?: typeof HdsDropdownListItemCheckmark;
                CopyItem?: typeof HdsDropdownListItemCopyItem;
                Description?: typeof HdsDropdownListItemDescription;
                Generic?: typeof HdsDropdownListItemGeneric;
                Interactive?: typeof HdsDropdownListItemInteractive;
                Radio?: typeof HdsDropdownListItemRadio;
                Separator?: typeof HdsDropdownListItemSeparator;
                Title?: typeof HdsDropdownListItemTitle;
                ToggleButton?: WithBoundArgs<typeof HdsDropdownToggleButton, 'isOpen' | 'setupPrimitiveToggle'>;
                ToggleIcon?: WithBoundArgs<typeof HdsDropdownToggleIcon, 'isOpen' | 'setupPrimitiveToggle'>;
                close: (event?: Event) => void;
            }
        ];
    };
    Element: HTMLDivElement;
}
export default class HdsDropdown extends Component<HdsDropdownSignature> {
    get listPosition(): HdsDropdownPositions;
    get enableCollisionDetection(): HdsAnchoredPositionOptions['enableCollisionDetection'];
    get matchToggleWidth(): HdsAnchoredPositionOptions['matchToggleWidth'];
    get anchoredPositionOptions(): {
        placement: HdsAnchoredPositionOptions['placement'];
        offsetOptions: HdsAnchoredPositionOptions['offsetOptions'];
        enableCollisionDetection: HdsAnchoredPositionOptions['enableCollisionDetection'];
        matchToggleWidth: HdsAnchoredPositionOptions['matchToggleWidth'];
        boundary: HdsAnchoredPositionOptions['boundary'];
    };
    get classNames(): string;
    get classNamesContent(): string;
    didInsertList: (element: HTMLUListElement) => void;
}
