import type { MTEventCtx } from './main-thread-event-ctx.js';
export interface MainThreadDynamicAttrState {
    kind: 'mt-event';
    nativeHeldValue: MTEventCtx;
}
export interface MainThreadDynamicAttrHydrateHandoff {
    kind: 'mt-event';
    nextValue: MTEventCtx;
    previousNativeHeldValue: MTEventCtx;
}
export declare function clearMainThreadDynamicAttrState(): void;
export declare function getMainThreadDynamicAttrState(handleId: number, attrSlotIndex: number): MainThreadDynamicAttrState | undefined;
export declare function initializeMainThreadDynamicAttrSlots(handleId: number, templateType: string, attributeSlots: readonly unknown[] | null | undefined): void;
export declare function updateMainThreadDynamicAttrSlot(handleId: number, attrSlotIndex: number, value: unknown, isHydration?: boolean): MainThreadDynamicAttrHydrateHandoff | undefined;
export declare function deleteMainThreadDynamicAttrStateForSubtree(handleIds: readonly number[]): void;
