import { OolongApp } from "../OolongApp";
import { IRectNode, Point, Rect } from "../../common";
import { SlotCallback, SlotKeyType } from "../../slot";
import { GraphicNode } from "../../graphics";
import { CreateAPI } from "./module/CreateAPI";
import { ImageAPI } from "./module/ImageAPI";
import { CopyPasteAPI } from "./module/CopyPasteAPI";
import { CropAPI } from "./module/CropAPI";
import { SwitchAPI } from "./module/SwitchAPI";
import { PropChangeAPI } from "./module/propChange/PropChangeAPI";
import { AlignAPI } from "./module/align/AlignAPI";
import { TextAPI } from "./module/text/TextAPI";
import { SlideAPI } from "./module/slide/SlideAPI";
import { DocAPI } from "@/app/api/module/doc/DocAPI";
import { ExportAPI } from "@/app/api/module/export/ExportAPI";
import { SyntaxAPI } from "@/app/api/module/syntax/SyntaxAPI";
import type { MemoryValue } from "../../memory";
import { GridType } from "@/app/docState/GridType";
export declare class OolongAPI {
    app: OolongApp;
    create: CreateAPI;
    image: ImageAPI;
    copyPaste: CopyPasteAPI;
    crop: CropAPI;
    switch: SwitchAPI;
    propChangeAPI: PropChangeAPI;
    align: AlignAPI;
    text: TextAPI;
    slide: SlideAPI;
    doc: DocAPI;
    export: ExportAPI;
    syntaxAPI: SyntaxAPI;
    constructor(app: OolongApp);
    resizeCanvas(): void;
    /**
     * 写入一条记忆化 key-value。
     */
    setMemory(key: string, value: MemoryValue): void;
    /**
     * 读取一条记忆化 key 对应的 value。
     */
    getMemory<T = any>(key: string): T | undefined;
    /**
     * 聚焦渲染
     * @param nodeId
     * @param buffer
     * @param padding
     */
    focus(nodeId?: string, buffer?: number, padding?: number): void;
    resetCursor(): void;
    zoomScale(scale: number, globalPoint: Point): void;
    zoomToFit(): void;
    zoomToSelect(): void;
    zoomTo100(): void;
    exportCoverCanvas(resolution: number, bgColor?: string): HTMLCanvasElement;
    exportOfflineCanvas(rectNode: IRectNode, resolution: number, bgColor?: string): HTMLCanvasElement;
    exportAllNodesImg(resolution: number, bgColor?: string): HTMLCanvasElement;
    scroll(dx: number, dy: number): void;
    registerCallback(type: SlotKeyType, callBack: SlotCallback): void;
    changePermission({ canEdit }: {
        canEdit: boolean;
    }): void;
    changeGridType(gridType: GridType): void;
    getBounds(): Rect;
    getScale(): number;
    transformToClientPos(point: Point): Point;
    getFocusList(): GraphicNode[];
    setFocus(idList: string[]): void;
    setPrefix(prefix: string): void;
    clearFocus(): void;
    makeGroup(): void;
    makeUnGroup(): void;
    getImageBlobUrl(fileKey: string): string;
    deleteSelectNodes(): void;
    deleteByIds(ids: string[]): void;
}
//# sourceMappingURL=OolongAPI.d.ts.map