import type { SerializableValue } from '../../protocol/types.js';
export interface EtAttrAdapterContext {
    previousPreparedSlots: readonly unknown[];
    previousRawSlots: readonly unknown[];
}
export type EtAttrAdapter = (handleId: number, attrSlotIndex: number, value: unknown, context?: EtAttrAdapterContext) => SerializableValue | null;
export type EtAttrPlan = (number | EtAttrAdapter)[];
export type EtAttrPlanMap = Record<string, EtAttrPlan | undefined>;
export declare const __etAttrPlanMap: EtAttrPlanMap;
export declare function adaptEventAttrSlot(handleId: number, attrSlotIndex: number, value: unknown): SerializableValue | null;
export declare function adaptMTEventAttrSlot(handleId: number, attrSlotIndex: number, value: unknown, context?: EtAttrAdapterContext): SerializableValue | null;
export declare function adaptRefAttrSlot(handleId: number, attrSlotIndex: number, value: unknown): SerializableValue | null;
export declare function adaptSpreadAttrSlot(handleId: number, attrSlotIndex: number, value: unknown): SerializableValue | null;
export declare function clearEtAttrPlanMap(): void;
