import type { AnyEntityESchema, AnyUnkeyedESchema } from '../../../eschema/index.js'; import type { TableAccessPatternSnapshot, TableEntitySnapshot, TableIndexSnapshot, TableSnapshot } from '../../../snapshot/domain/index.js'; export type LogicalTableSnapshot = TableSnapshot; export type LogicalEntitySnapshot = TableEntitySnapshot; export type SnapshotAccessPattern = Omit; interface TableSource { readonly logicalName: string; readonly primary: { readonly pk: string; readonly sk: string; }; readonly localSecondaryIndexes: Readonly>; readonly globalSecondaryIndexes: Readonly>; } interface KeyedEntitySource { readonly kind: 'keyed'; readonly name: string; readonly schema: AnyEntityESchema; readonly primary: { readonly pk: readonly string[]; readonly sk: readonly string[]; }; readonly accessPatterns: Readonly>; } interface SingleEntitySource { readonly kind: 'single'; readonly name: string; readonly schema: AnyUnkeyedESchema; } export type EntitySnapshotSource = KeyedEntitySource | SingleEntitySource; export declare const createLogicalTableSnapshot: (table: TableSource, registeredEntities: readonly EntitySnapshotSource[]) => LogicalTableSnapshot; export {}; //# sourceMappingURL=snapshot.d.ts.map