import { SelectorRefProxy } from '../../core/ref.js'; import type { OrdinaryRef, RefProxyForwardedMethods } from '../../core/ref.js'; import type { SerializableValue } from '../protocol/types.js'; export type EtRef = OrdinaryRef; export declare function getRefValue(handleId: number, attrSlotIndex: number): string; export declare function flushDelayedRefUiOps(): void; export declare function clearDelayedRefUiOps(): void; export declare class ElementTemplateRefProxy extends SelectorRefProxy { private readonly handleId; private readonly attrSlotIndex; constructor(handleId: number, attrSlotIndex: number); protected createProxyTarget(): ElementTemplateRefProxy; protected runOrDelay(task: () => void): void; get selector(): string; } export interface ElementTemplateRefProxy extends RefProxyForwardedMethods { } export declare function getRefFromValue(value: unknown): EtRef | null; export declare function getSpreadRefFromValue(value: unknown): EtRef | null | undefined; export declare function prepareRefAttrSlot(handleId: number, attrSlotIndex: number, value: unknown): SerializableValue | null; export declare function prepareSpreadRefAttrValue(handleId: number, attrSlotIndex: number, value: unknown): SerializableValue | null | undefined; export declare function queueRefAttrUpdate(oldValue: unknown, newValue: unknown, instance: { readonly instanceId: number; }, attrSlotIndex: number): void; export declare function flushPendingRefs(): void; export declare function clearPendingRefs(): void; export declare function hasPendingRefs(): boolean; export declare function clearRefState(): void;