import { PartitionAndSortKey, PartitionKeyAndSortKeyPrefix } from "./keys"; import { Table } from "./Table"; import { TaggedModel } from "./types"; export declare class Model { private table; private partitionKeyPrefix; private partitionKeyFields; private sortKeyPrefix; private sortKeyFields; readonly modelTag: string; constructor(table: Table, partitionKeyPrefix: string, partitionKeyFields: U[], sortKeyPrefix: string, sortKeyFields: V[], modelTag: string); key(params: { [X in U]: string; } & { [Y in V]: string; }): PartitionAndSortKey; partitionKey(params: { [X in U]: string; }): PartitionKeyAndSortKeyPrefix; create(fields: Omit): T & { [x: string]: string; }; private buildKey; } export declare class PartitionKeyBuilder { private table; private modelTag; constructor(table: Table, modelTag: string); partitionKey(prefix: string, ...partitionKeyFields: U[]): SortKeyBuilder; } export declare class SortKeyBuilder { private table; private partitionKeyPrefix; private partitionKeyFields; private modelTag; constructor(table: Table, partitionKeyPrefix: string, partitionKeyFields: U[], modelTag: string); sortKey(prefix: string, ...sortKeyFields: V[]): Model; } //# sourceMappingURL=Model.d.ts.map