/** Read a matching source to its declared end; a transport cap is never a complete list. */ declare function readCompleteSource({ readPage, getRowId, pageSize, maxRows }: { readPage: (page: number, pageSize: number) => Promise<{ rows: T[]; total: number; }>; getRowId: (row: T) => string; pageSize?: number; maxRows?: number; }): Promise<{ rows: T[]; total: number; }>; /** Source summaries are single aggregate rows, validated before becoming KPI values. */ declare const USAGE_SUMMARY_KEYS: readonly ["items", "runs", "successes", "failures", "cost"]; interface SummaryRpcClient { rpc(name: string, args: object): unknown; } declare function readNumericSourceSummary(client: SummaryRpcClient, name: string, args: object, keys: readonly K[]): Promise>; /** The configured global ceiling has no organization or user overrides. */ declare function tableGroupingLimit(value: unknown): number; /** Standalone hosts share a cached bucket read through the canonical knob-defaults protocol. */ declare function readTableGroupingLimit(client: SummaryRpcClient): Promise; export { USAGE_SUMMARY_KEYS, readCompleteSource, readNumericSourceSummary, readTableGroupingLimit, tableGroupingLimit }; export type { SummaryRpcClient };