import { TaggedModel } from "./types" export class PartitionKey { constructor(readonly partitionKeyName: string, readonly partitionKey: string | number, readonly modelTags: T["model"][]) {} } export class PartitionKeyAndSortKeyPrefix { constructor( readonly partitionKeyName: string, readonly partitionKey: string | number, readonly sortKeyName: string, readonly sortKeyPrefix: string, readonly modelTag: T["model"] ) {} } export class PartitionAndSortKey { constructor( readonly partitionKeyName: string, readonly partitionKey: string | number, readonly sortKeyName: string, readonly sortKey: string | number, readonly modelTag: T["model"] ) {} // Required to avoid TypeScript's structural typing from collapsing // PartitionAndSortKey and PartitionAndSortKey into the same object. private dummy(item: T) {} }