import type { CssLength } from '@breadstone/mosaik-themes';
import type { IAnimationReferenceMetadata } from '../../../../Animations/IAnimationReferenceMetadata';
import type { IDisableableProps } from '../../../Behaviors/Disableable';
import { IDropDownableProps } from '../../../Behaviors/DropDownable';
import type { IThemeableProps } from '../../../Behaviors/Themeable';
import { DropdownTrigger } from '../../../Types/DropdownTrigger';
import { Placement } from '../../../Types/Placement';
import { Strategy } from '../../../Types/Strategy';
/**
 * Represents the `IDropdownElementProps` interface.
 *
 * @public
 */
export interface IDropdownElementProps extends IThemeableProps, IDisableableProps, IDropDownableProps {
    /**
     * The preferred placement of the panel relative to the anchor.
     * The default value is `bottom`.
     */
    placement: Placement;
    /**
     * The CSS positioning strategy for the panel.
     * The default value is `fixed`.
     */
    strategy: Strategy;
    /**
     * The distance in pixels between the anchor and the panel.
     * The default value is `8`.
     */
    offset: number;
    /**
     * The lateral offset in pixels along the anchor axis.
     * The default value is `0`.
     */
    skidding: number;
    /**
     * Whether the dropdown is currently open.
     * Supports both controlled and uncontrolled usage.
     * The default value is `false`.
     */
    open: boolean;
    /**
     * How the dropdown is triggered.
     * - `click`: Toggles on anchor click (default).
     * - `hover`: Opens on anchor mouseenter, closes on mouseleave.
     * - `focus`: Opens on anchor focusin, closes on focusout.
     * - `manual`: No automatic trigger; only programmatic or controlled.
     * The default value is `click`.
     */
    trigger: DropdownTrigger;
    /**
     * Whether the dropdown closes when clicking outside.
     * The default value is `true`.
     */
    closeOnOutsideClick: boolean;
    /**
     * Whether the dropdown closes when the Escape key is pressed.
     * The default value is `true`.
     */
    closeOnEscape: boolean;
    /**
     * Whether the dropdown closes when a selection event is detected in the panel.
     * The default value is `false`.
     */
    closeOnSelect: boolean;
    /**
     * Whether focus is restored to the anchor after the dropdown closes.
     * The default value is `true`.
     */
    restoreFocus: boolean;
    /**
     * The ARIA hasPopup value indicating the type of popup.
     * If not set, no hasPopup attribute is applied.
     * Common values: 'menu', 'listbox', 'tree', 'grid', 'dialog'.
     */
    hasPopup?: string;
    /**
     * Whether the panel width should match the anchor width.
     * The default value is `false`.
     */
    matchAnchorWidth: boolean;
    /**
     * The maximum height of the panel.
     * The default value is `200px`.
     */
    maxHeight: CssLength;
    /**
     * The fixed height of the panel.
     * The default value is `auto`.
     */
    height?: CssLength;
    /**
     * The fixed width of the panel.
     * The default value is `auto`.
     */
    width?: CssLength;
    /**
     * The maximum width of the panel.
     * The default value is `auto`.
     */
    maxWidth?: CssLength;
    /**
     * The enter animation configuration.
     * The default value is `null` (no animation).
     */
    enter: IAnimationReferenceMetadata | null;
    /**
     * The exit animation configuration.
     * The default value is `null` (no animation).
     */
    exit: IAnimationReferenceMetadata | null;
}
/**
 * @public
 */
export declare namespace IDropdownElementProps {
    const DEFAULTS: IDropdownElementProps;
}
//# sourceMappingURL=IDropdownElementProps.d.ts.map