import { Effect, Layer } from 'effect'; import type { TableDefinition } from '../std-table/definition/index.js'; import { type StdTableService } from '../std-table/contract/index.js'; import { type DynamoDBCredentialsInput } from './client/index.js'; import { batchInsert, getItem, update, type DynamoTableService } from './native/index.js'; import { DynamoDBNativeError, getTableDefinition, setupDynamoTable } from './setup/index.js'; export interface DynamoDBConfig { readonly tableName: string; readonly region: string; readonly credentials: DynamoDBCredentialsInput; readonly endpoint?: string; } type DynamoTable = Pick, 'logicalName' | 'primary' | 'localSecondaryIndexes' | 'globalSecondaryIndexes'>; export interface DynamoDBTable { readonly tableName: string; readonly layer: Layer.Layer | DynamoTableService>; readonly setup: ReturnType; readonly teardown: Effect.Effect; } declare const make: (table: DynamoTable, config: DynamoDBConfig) => DynamoDBTable; export declare const DynamoDB: { readonly make: typeof make; readonly getTableDefinition: typeof getTableDefinition; readonly getItem: typeof getItem; readonly update: typeof update; readonly batchInsert: typeof batchInsert; }; export { DynamoDBNativeError, type DynamoTableTopology, } from './setup/index.js'; export { dynamoTableService, type DynamoTableService } from './native/index.js'; export { buildExpr, exprCondition, exprFilter, exprUpdate, } from './expression/index.js'; export { marshall, unmarshall } from './attribute-value/index.js'; //# sourceMappingURL=dynamodb.d.ts.map