import type { SelectionRange } from "../client/editContext";
export type InlineAiDialogAnchor = {
    x: number;
    y: number;
    align?: "center" | "start";
    origin?: "trigger" | "caret" | "toolbar";
};
export type BridgeInlineFormatToolbarRect = {
    left: number;
    top: number;
    width: number;
    height: number;
};
export declare const BRIDGE_INLINE_FORMAT_TOOLBAR_SELECTOR = "[data-bridge-inline-format-toolbar=\"true\"]";
export declare const BRIDGE_INLINE_FORMAT_AI_BUTTON_SELECTOR = "[data-bridge-inline-format-ai-button=\"true\"]";
export declare function calculateBridgeInlineFormatToolbarLayout(clientRect: Pick<DOMRect, "left" | "top" | "width" | "height" | "bottom">, options?: {
    toolbarWidth?: number;
    toolbarHeight?: number;
}): BridgeInlineFormatToolbarRect;
export declare function getInlineAiAnchorBelowToolbar(toolbarRect: Pick<DOMRect, "left" | "bottom">, aiButtonRect?: Pick<DOMRect, "left"> | null): InlineAiDialogAnchor;
export declare function getInlineAiAnchorFromBridgeToolbar(selectedRange: SelectionRange | null | undefined, measuredToolbarRect?: DOMRect | null): InlineAiDialogAnchor | undefined;
export declare function getVisibleBridgeToolbarRect(): DOMRect | undefined;
export declare function getVisibleBridgeToolbarAiButtonRect(): DOMRect | undefined;
export declare function waitForVisibleBridgeToolbarRect(maxFrames?: number): Promise<DOMRect | undefined>;
