/** * Tiers capability strategy — the five on-demand collection-level tier * operations the `Collection` routes through. The active engine * ({@link withTiers}) dynamically imports the tier cores (keeping them out of * the floor bundle); {@link NO_TIERS} throws. Collection always builds its * per-call {@link TiersContext} and delegates here, so an un-opted-in caller * hits `NO_TIERS`'s throw. * @internal */ import type { GhostRecord } from '../../kernel/types.js'; import type { TiersContext, TierMoveResult } from './index.js'; export type { TierMoveResult }; export interface TiersStrategy { putAtTier(ctx: TiersContext, id: string, record: T, tier: number, opts?: { elevation?: { reason: string; fromTier: number; }; source?: string; sourceTs?: string; }): Promise; getAtTier(ctx: TiersContext, id: string): Promise; listAtTier(ctx: TiersContext): Promise>; elevate(ctx: TiersContext, id: string, toTier: number): Promise; demote(ctx: TiersContext, id: string, toTier: number): Promise; } /** * No-op stub — the floor default. Every capability method throws * {@link TiersNotEnabledError}; opt in with `tiersStrategy: withTiers()` in * createNoydb. @internal */ export declare const NO_TIERS: TiersStrategy;