import type { ElementTemplateHandleSlotsCommand, RuntimeOptionsCommand, SerializableValue, TypedElementAttributesCommand, TypedListOptionsCommand, UpdateTypedListItemCommand } from '../protocol/types.js'; import type { AuthoredPageAttributes } from '../runtime/page/authored-page.js'; import type { EtAttrPlan } from '../runtime/template/attr-slot-plan.js'; export declare const BUILTIN_RAW_TEXT_TEMPLATE_KEY = "_et_builtin_raw_text"; export declare class BackgroundElementTemplateInstance { instanceId: number; type: string; parent: BackgroundElementTemplateInstance | null; firstChild: BackgroundElementTemplateInstance | null; lastChild: BackgroundElementTemplateInstance | null; nextSibling: BackgroundElementTemplateInstance | null; previousSibling: BackgroundElementTemplateInstance | null; __slotIndex: number; attributeSlots: SerializableValue[]; private rawAttributeSlots; protected isMaterializedOnMainThread: boolean; private listItemPlatformInfo; get parentNode(): BackgroundElementTemplateInstance | null; remove(): void; get childNodes(): BackgroundElementTemplateInstance[]; get childSlots(): BackgroundElementTemplateInstance[][]; nodeType: number; constructor(type: string, initialAttributeSlots?: SerializableValue[]); emitCreate(): void; private needsMainThreadCreate; protected getAttributeSlotPlan(): EtAttrPlan | undefined; private markSubtreeDetachedFromMainThread; releaseDetachedSubtreeFromManager(): void; private restoreManagerRegistration; private releaseSubtreeFromManager; emitMainThreadCreateIfNeeded(): void; protected canEmitUpdatePatch(): boolean; protected cleanupDetachedChildForLifetimeRemoval(child: BackgroundElementTemplateInstance, canEmitUpdatePatch: boolean): void; appendChild(child: BackgroundElementTemplateInstance): void; insertBefore(child: BackgroundElementTemplateInstance, beforeChild: BackgroundElementTemplateInstance | null, silent?: boolean): void; removeChild(child: BackgroundElementTemplateInstance, silent?: boolean): void; tearDown(): void; queueRefCleanupForSubtree(): void; getRawAttributeSlot(attrSlotIndex: number): unknown; markMaterializedByHydration(): void; prepareAttributeSlotsForNative(options?: { publishRefEffects?: boolean; }): void; prepareAttributeSlotsForHydration(): void; setAttribute(key: string, value: unknown): void; get text(): string; set text(value: string); get data(): string; set data(value: string); getListItemPlatformInfo(): Record; } export declare function getContainingListItem(instance: BackgroundElementTemplateInstance): BackgroundElementTemplateInstance | undefined; export declare class BackgroundTypedElementTemplateInstance extends BackgroundElementTemplateInstance { constructor(type: string); emitCreate(): void; setAttribute(key: string, value: unknown): void; protected getTypedAttributesForCreate(): TypedElementAttributesCommand | null; protected getAttributeSlotPlan(): EtAttrPlan; protected getChildSlotsForCreate(): ElementTemplateHandleSlotsCommand | null; protected getRuntimeOptionsForCreate(): RuntimeOptionsCommand | null; } export declare class BackgroundPageRootInstance extends BackgroundTypedElementTemplateInstance { private authoredPageLifetime; constructor(); setAuthoredPageAttributes(lifetime: object, attributes: AuthoredPageAttributes): void; clearAuthoredPageAttributes(lifetime: object): void; reconcileAuthoredPageAttributesOnHydration(mainThreadAttributes: TypedElementAttributesCommand | null): void; } export declare class BackgroundListElementTemplateInstance extends BackgroundTypedElementTemplateInstance { constructor(); protected getRuntimeOptionsForCreate(): TypedListOptionsCommand; insertBefore(child: BackgroundElementTemplateInstance, beforeChild: BackgroundElementTemplateInstance | null, silent?: boolean): void; removeChild(child: BackgroundElementTemplateInstance, silent?: boolean): void; notifyLogicalChildUpdated(child: BackgroundElementTemplateInstance): void; private emitTypedListItemInsert; private emitTypedListItemRemove; private emitTypedListItemUpdate; } export declare function toUpdateTypedListItemCommand(child: BackgroundElementTemplateInstance): UpdateTypedListItemCommand; export declare function collectElementTemplateSubtreeHandleIds(root: BackgroundElementTemplateInstance): number[]; export declare function collectMainThreadRefSubtreeHandleIds(root: BackgroundElementTemplateInstance): number[] | null;