import { type ObjectiveRuntimeState, type OrchestrationProjectionCapacity, type TaskRuntimeProjection } from "./task-runtime-state.ts"; export declare function emptyProjection(): TaskRuntimeProjection; export declare const PROJECTION_RECORD_FIELDS: readonly ["agents", "objectives", "tasks", "attempts", "checkpoints", "approvals", "notifications"]; export type ProjectionRecordField = (typeof PROJECTION_RECORD_FIELDS)[number]; /** Compute once for snapshots/external projections; reducer-produced projections carry a delta cache. */ export declare function projectionSerializedBytes(projection: TaskRuntimeProjection): number; export declare function assertProjectionRecordReplacementWithinLimits(projection: TaskRuntimeProjection, field: ProjectionRecordField, key: string, value: object): void; export declare class ProjectionByteTracker { private bytes; private readonly entryCounts; private readonly source; constructor(source: TaskRuntimeProjection); track(field: ProjectionRecordField, target: Record): Record; finish(nextOrdinal: number): number; } export declare function cloneProjection(state: TaskRuntimeProjection): TaskRuntimeProjection; export declare function record(value: unknown, label: string): Record; export declare function exactRecord(value: unknown, label: string, allowedFields: readonly string[]): Record; export declare function assertRecordWithinLimit(values: Readonly>, limit: number, label: string): void; export declare function assertRecordHasCapacity(values: Readonly>, limit: number, label: string): void; export declare function assertIdentifierListHasCapacity(values: readonly string[], limit: number, label: string): void; export declare function assertObjectiveEvidenceHasCapacity(objectives: Readonly>, objective: ObjectiveRuntimeState): void; export declare function assertBoundedIdentifierList(value: unknown, limit: number, label: string): asserts value is readonly string[]; export declare function retainedIdentifierArray(value: unknown, limit: number, label: string): string[]; export declare function assertRetainedProjectionNestedCollections(objectives: Readonly>, tasks: Readonly>, attempts: Readonly>, checkpoints: Readonly>, label: string): number; export declare function assertProjectionWithinLimits(projection: TaskRuntimeProjection): void; export declare function projectionCapacity(projection: TaskRuntimeProjection): OrchestrationProjectionCapacity; export declare function requestedProjectionSlots(value: number | undefined, label: string): number; export declare function cacheProjectionSerializedBytes(projection: TaskRuntimeProjection, bytes: number): void; //# sourceMappingURL=task-runtime-projection.d.ts.map