import { ISelectionService } from './selectionService/ISelectionService.js';
import { IUndoService } from './undoService/IUndoService.js';
import { BaseServiceContainer } from './BaseServiceContainer.js';
import { IDesignContext } from '../widgets/designerView/IDesignContext.js';
import { IDesignerCanvas } from '../widgets/designerView/IDesignerCanvas.js';
import { IStylesheetService } from './stylesheetService/IStylesheetService.js';
import { IDesignItemDocumentPositionService } from './designItemDocumentPositionService/IDesignItemDocumentPositionService.js';
import { DocumentContainer } from '../documentContainer.js';
import { ICollaborationService } from './collaborationService/ICollaborationService.js';
import { TypedEvent } from '@node-projects/base-custom-webcomponent';
import { IDesignItem } from '../item/IDesignItem.js';
interface InstanceServiceNameMap {
    "undoService": IUndoService;
    "selectionService": ISelectionService;
    "stylesheetService": IStylesheetService;
    "designItemDocumentPositionService": IDesignItemDocumentPositionService;
}
interface IContentChangedParsed {
    changeType: 'parsed';
}
interface IContentChangedWithDesignItems {
    changeType: "added" | "removed" | "moved";
    designItems: IDesignItem[];
}
interface IContentChangedChangeWithDesignItems {
    changeType: "changed";
    designItems: IDesignItem[];
    type: "attribute" | "css" | "property";
    name: string;
    oldValue?: any;
    newValue?: any;
}
export type IContentChanged = IContentChangedParsed | IContentChangedWithDesignItems | IContentChangedChangeWithDesignItems;
export declare class InstanceServiceContainer extends BaseServiceContainer<InstanceServiceNameMap> {
    designContext: IDesignContext;
    readonly designerCanvas: IDesignerCanvas;
    collaborationService?: ICollaborationService;
    designer: any;
    documentContainer: DocumentContainer;
    readonly onContentChanged: TypedEvent<IContentChanged[]>;
    constructor(designerCanvas: IDesignerCanvas);
    get rootDesignItem(): IDesignItem;
    get undoService(): IUndoService;
    get selectionService(): ISelectionService;
    get stylesheetService(): IStylesheetService;
    get designItemDocumentPositionService(): IDesignItemDocumentPositionService;
}
export {};
