import type { RuntimeElementSlots, RuntimeOptions, RuntimeTypedElementAttributes, SerializableValue } from '../../protocol/types.js';
export declare function reserveElementTemplateId(): number;
export declare function createElementTemplateWithReservedHandle(handleId: number, templateKey: string, bundleUrl: string | null | undefined, attributeSlots: SerializableValue[] | null | undefined, elementSlots: RuntimeElementSlots | null | undefined): ElementRef;
export declare function createTypedElementTemplateWithReservedHandle(handleId: number, type: string, attributes: RuntimeTypedElementAttributes | null | undefined, elementSlots: RuntimeElementSlots | null | undefined, options: RuntimeOptions | null | undefined): ElementRef;
export declare function resetTemplateId(): void;
export declare function destroyElementTemplateId(id: number): void;
