import { Template, BasePdf, SchemaForUI, Size, PluginRegistry } from '@pdfme/common'; export declare const uuid: () => string; export declare const debounce: unknown>(cb: T, wait?: number) => T; export declare const round: (number: number, precision: number) => number; export declare const flatten: (arr: T[][]) => T[]; export declare const initShortCuts: (arg: { move: (command: "up" | "down" | "left" | "right", isShift: boolean) => void; remove: () => void; esc: () => void; copy: () => void; paste: () => void; redo: () => void; undo: () => void; save: () => void; selectAll: () => void; }) => void; export declare const destroyShortCuts: () => void; export declare const arrayBufferToBase64: (arrayBuffer: ArrayBuffer) => string; export declare const template2SchemasList: (_template: Template) => Promise<{ name: string; type: string; position: { x: number; y: number; }; width: number; height: number; id: string; content?: string | undefined; rotate?: number | undefined; opacity?: number | undefined; readOnly?: boolean | undefined; required?: boolean | undefined; __splitRange?: { unit: string; start: number; end?: number | undefined; } | undefined; __isSplit?: boolean | undefined; }[][]>; export declare const schemasList2template: (schemasList: SchemaForUI[][], basePdf: BasePdf) => Template; export declare const getUniqueSchemaName: (arg: { copiedSchemaName: string; schema: SchemaForUI[]; stackUniqueSchemaNames: string[]; }) => string; export declare const moveCommandToChangeSchemasArg: (props: { command: "up" | "down" | "left" | "right"; activeSchemas: SchemaForUI[]; isShift: boolean; pageSize: Size; }) => { key: string; value: number; schemaId: string; }[]; export declare const getPagesScrollTopByIndex: (pageSizes: Size[], index: number, scale: number) => number; export type ZoomMode = 'manual' | 'fit-width' | 'fit-height'; export type ZoomAnchor = { pageIndex: number; localX: number; localY: number; clientX: number; clientY: number; }; export declare const MIN_ZOOM = 0.25; export declare const clampZoomLevel: (zoomLevel: number, maxZoom: number, minZoom?: number) => number; export declare const getFitZoomLevel: ({ mode, pageSize, container, baseScale, maxZoom, hasRulers, }: { mode: Exclude; pageSize: Size | undefined; container: HTMLElement | null; baseScale: number; maxZoom: number; hasRulers?: boolean; }) => number; export declare const getZoomAnchor: ({ pageIndex, paper, clientX, clientY, scale, }: { pageIndex: number; paper: HTMLElement | undefined; clientX: number; clientY: number; scale: number; }) => ZoomAnchor | null; export declare const restoreZoomAnchor: ({ container, paper, anchor, scale, }: { container: HTMLElement | null; paper: HTMLElement | undefined; anchor: ZoomAnchor | null; scale: number; }) => void; export declare const changeSchemas: (args: { objs: { key: string; value: unknown; schemaId: string; }[]; schemas: SchemaForUI[]; basePdf: BasePdf; pluginsRegistry: PluginRegistry; pageSize: { width: number; height: number; }; commitSchemas: (newSchemas: SchemaForUI[]) => void; }) => void; export declare const getDynamicHeightReflowChanges: (args: { schemas: SchemaForUI[]; schema: SchemaForUI; height: unknown; }) => { key: string; value: unknown; schemaId: string; }[]; export declare const useMaxZoom: () => number; export declare const setFontNameRecursively: (obj: Record, fontName: string, seen?: WeakSet) => void;