/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import type { Placement, Strategy, OffsetOptions, FlipOptions, ShiftOptions, AutoPlacementOptions, ArrowOptions, Middleware, Boundary } from '@floating-ui/dom';
type BoundaryExtended = Boundary | (string & {});
export declare enum HdsEnableCollisionDetectionOptions {
    Shift = "shift",
    Flip = "flip",
    Auto = "auto"
}
export type HdsEnableCollisionDetection = `${HdsEnableCollisionDetectionOptions}`;
export declare const DEFAULT_PLACEMENT = "bottom";
export declare const PLACEMENTS: Placement[];
export declare const ENABLE_COLLISION_DETECTION_OPTIONS: HdsEnableCollisionDetection[];
export type FloatingUIOptions = {
    placement?: Placement;
    strategy?: Strategy;
    offsetOptions?: OffsetOptions;
    flipOptions?: FlipOptions;
    shiftOptions?: ShiftOptions;
    autoPlacementOptions?: AutoPlacementOptions;
    middlewareExtra?: Middleware[];
    enableCollisionDetection?: boolean | HdsEnableCollisionDetection;
    arrowElement?: ArrowOptions['element'];
    arrowPadding?: ArrowOptions['padding'];
    matchToggleWidth?: boolean;
    boundary?: BoundaryExtended;
};
export type HdsAnchoredPositionOptions = FloatingUIOptions & {
    arrowSelector?: string;
};
export declare const getFloatingUIOptions: (options: FloatingUIOptions) => {
    placement: Placement;
    strategy: Strategy;
    middleware: Middleware[];
};
export interface HdsAnchoredPositionSignature {
    Element: HTMLElement;
    Args: {
        Positional: [HTMLElement | SVGElement];
        Named: HdsAnchoredPositionOptions;
    };
}
declare const _default: import("ember-modifier").FunctionBasedModifier<{
    Element: HTMLElement;
    Args: {
        Named: HdsAnchoredPositionOptions;
        Positional: [SVGElement | HTMLElement];
    };
}>;
export default _default;
