import { type Disposable } from '@blockeditor/global/utils';
import { type IVec } from '../../../surface-block/index.js';
export declare function generateCursorUrl(angle?: number, fallback?: import("lit").CSSResult): import("lit").CSSResult;
export declare function getCommonRectStyle(rect: DOMRect, active?: boolean, selected?: boolean, rotate?: number): {
    '--affine-border-width': string;
    width: string;
    height: string;
    transform: string;
    backgroundColor: string;
};
export declare function listenClickAway(element: HTMLElement, onClickAway: () => void): Disposable;
/**
 * Using attribute 'data-show' to control popper visibility.
 *
 * ```css
 * selector {
 *   display: none;
 * }
 * selector[data-show] {
 *   display: block;
 * }
 * ```
 */
export declare function createButtonPopper(reference: HTMLElement, popperElement: HTMLElement, stateUpdated?: (state: {
    display: 'show' | 'hidden';
}) => void, mainAxis?: number, crossAxis?: number): {
    show: () => void;
    hide: () => void;
    toggle: () => void;
    dispose: () => void;
};
export declare function getTooltipWithShortcut(tip: string, shortcut: string): import("lit").TemplateResult<1>;
export declare function readImageSize(file: File): Promise<{
    width: number;
    height: number;
}>;
export declare function rotateResizeCursor(angle: number): string;
export declare function calcAngle(target: HTMLElement, point: IVec, offset?: number): number;
export declare function calcAngleWithRotation(target: HTMLElement, point: IVec, rect: DOMRect, rotate: number): number;
export declare function calcAngleEdgeWithRotation(target: HTMLElement, rotate: number): number;
export declare function getResizeLabel(target: HTMLElement): string;
export declare function launchIntoFullscreen(element: Element): void;
//# sourceMappingURL=utils.d.ts.map