import { BoundingBox } from '../internal/utils/scrollable-containers'; import { LogicalDOMRect } from './dropdown-position'; import { DropdownWidthConstraint } from './interfaces'; export interface DropdownPosition { blockSize: string; inlineSize: string; dropBlockStart: boolean; dropInlineStart: boolean; insetInlineStart: string; } export interface InteriorDropdownPosition extends DropdownPosition { insetBlockEnd: string; insetBlockStart: string; } export declare const hasEnoughSpaceForFlexibleWidth: ({ triggerElement, dropdownElement, minWidthConstraint, maxWidthConstraint, expandToViewport, stretchHeight, isMobile }: { triggerElement: HTMLElement; dropdownElement: HTMLElement; minWidthConstraint?: DropdownWidthConstraint; maxWidthConstraint?: DropdownWidthConstraint; expandToViewport: boolean; stretchHeight: boolean; isMobile: boolean; }) => boolean; export declare const getDropdownPosition: ({ triggerElement, dropdownElement, overflowParents, minWidth: minWidthConstraint, maxWidth: maxWidthConstraint, preferCenter, matchTriggerWidth, stretchHeight, isMobile, maxHeight }: { triggerElement: HTMLElement; dropdownElement: HTMLElement; overflowParents: ReadonlyArray; minWidth?: DropdownWidthConstraint; maxWidth?: DropdownWidthConstraint; preferCenter?: boolean; matchTriggerWidth?: boolean; stretchHeight?: boolean; isMobile?: boolean; maxHeight?: number; }) => DropdownPosition; export declare const calculatePosition: (dropdownElement: HTMLDivElement, triggerElement: HTMLElement, verticalContainerElement: HTMLDivElement, interior: boolean, expandToViewport: boolean, preferCenter: boolean, matchTriggerWidth: boolean, stretchHeight: boolean, isMobile: boolean, minWidth?: DropdownWidthConstraint, maxWidth?: DropdownWidthConstraint, maxHeight?: number) => [DropdownPosition, LogicalDOMRect];