import { BlockGatewayInterface } from "./BlockGatewayInterface"; import { PbPageBlock } from "../../../../types"; export declare class BlocksRepository { private gateway; private loading; private pageBlocks; private listOperation; constructor(gateway: BlockGatewayInterface); getPageBlocks(): PbPageBlock[]; getLoading(): { isLoading: boolean; loadingLabel: string; message: string; }; private runWithLoading; listPageBlocks(): Promise; getById(id: string): Promise; refetchById(id: string): Promise; createPageBlock(input: { name: string; category: string; content?: unknown; }): Promise; updatePageBlock(pageBlock: { id: string; name?: string; category?: string; content?: unknown; }): Promise; deletePageBlock(id: string): Promise; private processBlockFromApi; /** * TODO: the following two methods are a quick fix for the current way of rendering of blocks in the `SearchBlocks` * component. I'm not entirely sure why we need to use block plugins there, and I believe it can be simplified. * * Instead of converting all blocks into plugins, it might be more efficient to read plugins and assign block * definitions into this repository, and simplify the way blocks are rendered. */ private createBlockPlugin; private removeBlockPlugin; }