import { type Data, type Element, type ElementData } from './common/types'; export type TranslationDto = Record; export type MergeTranslatableDataContext = { translatedData: TranslationDto; mergeTranslatedData: (node: Element) => Element; }; type ResourceMapping = Map; export declare const ContextResource: { readonly Swatch: "Swatch"; readonly File: "File"; readonly Typography: "Typography"; readonly Table: "Table"; readonly TableColumn: "TableColumn"; readonly Page: "Page"; readonly GlobalElement: "GlobalElement"; }; declare const resourceFields: { readonly Swatch: "swatchIds"; readonly File: "fileIds"; readonly Typography: "typographyIds"; readonly Table: "tableIds"; readonly TableColumn: "tableColumnIds"; readonly Page: "pageIds"; readonly GlobalElement: "globalElementIds"; }; type ResourceType = keyof typeof ContextResource; type ResourceField = (typeof resourceFields)[ResourceType]; export type ReplacementContext = { [K in ResourceField]: ResourceMapping; } & { elementHtmlIds: Set; elementKeys: Map; globalElementData: Map; }; type SerializableResourceMapping = Record; export type SerializableReplacementContext = { [K in ResourceField]?: SerializableResourceMapping; } & { elementHtmlIds?: string[]; elementKeys?: Record; globalElementData?: Record; }; export declare function createReplacementContext(context?: SerializableReplacementContext): ReplacementContext; export type CopyContext = { replacementContext: ReplacementContext; copyElement: (node: Element) => Element; }; export type MergeContext = { mergeElement(a: Element, b: Element): Element; }; export type ContextResource = (typeof ContextResource)[keyof typeof ContextResource]; export declare function shouldRemoveResource(resourceType: ContextResource, id: string, ctx: CopyContext): boolean; export declare function replaceResourceIfNeeded(resourceType: ContextResource, id: string, ctx: CopyContext): string; export {}; //# sourceMappingURL=context.d.ts.map