import { type Attribute } from '../attribute'; import { type IThroughput } from '../interfaces'; export interface PrimaryKey { readonly propertyName: string; readonly hash: Attribute; readonly range?: Attribute; } export type GlobalSecondaryIndexProjection = 'ALL' | 'KEYS_ONLY' | 'INCLUDE'; export interface GlobalSecondaryIndex { readonly name: string; readonly propertyName: string; readonly hash: Attribute; readonly range?: Attribute; readonly projection?: GlobalSecondaryIndexProjection; readonly nonKeyAttributes?: string[]; readonly throughput?: IThroughput; } export type LocalSecondaryIndexProjection = GlobalSecondaryIndexProjection; export interface LocalSecondaryIndex { readonly name: string; readonly propertyName: string; readonly range: Attribute; readonly projection?: LocalSecondaryIndexProjection; readonly nonKeyAttributes?: string[]; }