import type { BackgroundElementTemplateInstance } from '../background/instance.js'; import type { ElementTemplateUpdateCommandStream } from '../protocol/types.js'; export type FormattedElementTemplateUpdateCommand = { op: 'createTemplate'; handleId: number; templateKey: string; bundleUrl: string | null | undefined; attributeSlots: unknown; childSlots: unknown; } | { op: 'createTypedElement'; handleId: number; type: string; attributes: unknown; childSlots: unknown; options: unknown; } | { op: 'setAttribute'; targetId: number; attrSlotIndex: number; value: unknown; } | { op: 'setMainThreadEvent' | 'setMainThreadRef'; targetId: number; attrSlotIndex: number; value: unknown; } | { op: 'insertTypedListItem'; targetId: number; item: unknown; beforeId: number; } | { op: 'removeTypedListItem'; targetId: number; itemId: number; removedSubtreeHandleIds: number[]; } | { op: 'updateTypedListItem'; targetId: number; item: unknown; } | { op: 'insertNode'; targetId: number; childSlotIndex: number; childId: number; referenceId: number; attachedSubtreeHandleIds: number[] | null; } | { op: 'removeNode'; targetId: number; childSlotIndex: number; childId: number; removedSubtreeHandleIds: number[]; } | { op: 'unknown'; opcode: unknown; index: number; remaining: unknown[]; }; export declare function formatElementTemplateUpdateCommands(stream: ElementTemplateUpdateCommandStream | undefined): FormattedElementTemplateUpdateCommand[]; export declare function printElementTemplateTreeToString(root: BackgroundElementTemplateInstance | null | undefined): string;