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<BoundingBox>;
    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];
//# sourceMappingURL=dropdown-fit-handler.d.ts.map