import type { Key } from './key.js'; export interface LocalIndex { readonly type: 'local'; readonly partitionKey?: undefined; readonly sortKey: Key; } type GlobalIndexPartitionKey = { readonly partitionKey: Key; readonly partitionKeys?: never; } | { readonly partitionKey?: never; readonly partitionKeys: readonly Key[]; }; type GlobalIndexSortKey = { readonly sortKey?: Key; readonly sortKeys?: never; } | { readonly sortKey?: never; readonly sortKeys?: readonly Key[]; }; export type GlobalIndex = { readonly type: 'global'; } & GlobalIndexPartitionKey & GlobalIndexSortKey; /** * Define an index of a Table * * @param KEY_NAME Key attribute name * @param KEY_TYPE Key value type * @return Key */ export type Index = LocalIndex | GlobalIndex; export {};