import type { ElementTemplateUpdateOp } from '../protocol/opcodes.js'; import type { SerializableValue } from '../protocol/types.js'; import type { EtAttrPlan } from '../runtime/template/attr-slot-plan.js'; export interface PrepareAttributeSlotsOptions { previousPreparedSlots?: readonly unknown[]; previousRawSlots?: readonly unknown[]; attributePlan?: EtAttrPlan | undefined; } export declare function prepareAttributeSlots(templateKey: string, handleId: number, rawSlots: readonly unknown[], options?: PrepareAttributeSlotsOptions): SerializableValue[]; export declare function queueRefAttributeSlotUpdates(templateKey: string, instance: { readonly instanceId: number; }, previousRawSlots?: readonly unknown[], nextRawSlots?: readonly unknown[], attributePlan?: EtAttrPlan): void; export declare function getAttributeSlotUpdateOp(templateType: string, attrSlotIndex: number): ElementTemplateUpdateOp;