import { type StatPool, type StatPoolAccess, type StatPoolPatch } from "../stats/statPool.js"; /** Native entity-stat name retained as a compatibility bridge to the portable pool model. */ export interface StatValue extends StatPool { } /** Native entity-stat patch retained as a compatibility bridge. */ export interface StatValuePatch extends StatPoolPatch { } export type StatValueMap = Record; export type StatCatalog = Record; export type PoolDeltaResult = { status: "ok"; map: StatValueMap; stat: StatValue; hitMin: boolean; hitMax: boolean; } | { status: "rejected"; reason: string; }; /** @internal */ export declare function getStatValue(map: StatValueMap, statId: string): StatValue | null; /** @internal */ export declare function setStatValue(map: StatValueMap, statId: string, patch: StatValuePatch): StatValueMap; /** @internal */ export declare function applyPoolDelta(map: StatValueMap, statId: string, amount: number): PoolDeltaResult; /** @internal */ export declare function seedStatValues(catalogStats: StatCatalog): StatValueMap; /** Deep-copy the per-entity stat maps into a serializable record — the transport counterpart of {@link hydrateEntityStats}. * @internal */ export declare function snapshotEntityStats(store: ReadonlyMap): Record; /** Replace a live stat store with deep copies of a snapshot, clearing entities absent from it. * @internal */ export declare function hydrateEntityStats(store: Map, data: Record): void; /** Native entity-stat adapter over the portable {@link StatPoolAccess} contract. */ export interface EntityStatsApi extends StatPoolAccess { get(instanceId: string, statId: string): StatValue | null; set(instanceId: string, statId: string, patch: StatValuePatch): boolean; delta(instanceId: string, statId: string, amount: number): null | { reason: string; }; } /** @internal */ export declare function createEntityStatsApi(resolve: (instanceId: string) => StatValueMap | undefined): EntityStatsApi;