import { RAW_TARGET } from './raw-target.js'; import type { SatelliteSpec } from './types.js'; import type { SatelliteRegistry } from './registry.js'; export { RAW_TARGET }; /** * Correlates a collection handle's `list()` output with the ids implied by * cache-insertion order — `list()` returns bare records (no `id` field * unless the caller put one), so ids are recovered positionally against the * cache's own key order instead. Read AFTER `target.list()` resolves, so a * not-yet-hydrated cache on the first read doesn't race a still-empty key * snapshot. Invariant: `list()` must preserve cache-insertion order * (collection.ts `list()` maps `[...cache.values()]`) — positional * correlation depends on it. Drops any record whose position has no * corresponding cache key (should not happen in practice; defensive only). * Exported so `joined.ts` (#591, Task 7) can get the same [id, record] * correlation for the base side without duplicating this logic. */ export declare function listWithIds(target: any): Promise>; /** * Wraps a satellite's real `Collection` in a `Proxy` that enforces * existence authority (spec § Convergence & existence authority, rule 1) * and R-S6 on top of it. Every member not explicitly overridden below * falls through to the real collection unchanged — this is why the full * ~50-member surface (describe, count, putMany, …) survives without * hand-stubbing. Caches nothing: every call re-checks live base state. */ export declare function makeSatelliteProxy(target: any, spec: SatelliteSpec, registry: SatelliteRegistry): any; /** * Wraps a satellite's BASE collection in a `Proxy` whose overrides are * `delete` and `deleteMany` — both routed through `pairDelete` (this task) so * removing a base record also removes its satellite row, in order, with * revert-on-failure. `satellite()` is a thunk, not a resolved handle: at the * moment a base is first requested the paired satellite may not exist yet in * some call orders, and `fanout.ts` re-resolves + unwraps it lazily per call * anyway. */ export declare function makeBaseProxy(target: any, spec: SatelliteSpec, registry: SatelliteRegistry, satellite: () => unknown): any;