import { DrawingID, PluginID } from '@buerli.io/core'; /** * !!! Important !!! * * Functions in this file are called outside of ErrorBoundary, * so an error appearing in such function will break whole application. * * This is why all point operators should be guarded by question mark. * And this is the reasone why we should not use any "regular" hooks, or just functions * which are already used in components exported from @buerli.io/react-cad. * * There should not be any hard logic, verifiers are just checking if tree contains particular data * (e.g. useCurProductVerifier checks if currentProduct exists in drawing.structure, and corresponding * object exists in drawing.structure.tree, otherwise it adds warning). * * If you need to reuse non trivial existing function, it's better to copypaste code of the function * and guard all access operator by question marks like it's already done in usePartAndAssemblyContVerifier * for useAllObjects. */ declare type Warning = { caption: string; }; export declare type Warnings = Record; export declare function useDrawingVerifier(drawingId: DrawingID, warnings: Warnings): void; export declare function useCurProductVerifier(drawingId: DrawingID, warnings: Warnings): void; export declare function useCurInstanceVerifier(drawingId: DrawingID, warnings: Warnings): void; export declare function useRootVerifier(drawingId: DrawingID, warnings: Warnings): void; export declare function useRootOrProdVerifier(drawingId: DrawingID, warnings: Warnings): void; export declare function usePluginObjVerifier(drawingId: DrawingID, pluginId: PluginID, warnings: Warnings): void; export declare function usePartAndAssemblyContVerifier(drawingId: DrawingID, warnings: Warnings): void; export declare function useExprSetVerifier(drawingId: DrawingID, warnings: Warnings): void; export {};