/** * DynamoDB client implementation. * * Uses the native DynamoDB plugin type from @superblocksteam/types. * All operations pass parameters as a JSON string in the `body` field, * which the orchestrator parses and forwards directly to the AWS SDK. */ import type { z } from "zod"; import type { QueryExecutor, TraceMetadata } from "../registry.js"; import type { IntegrationConfig, IntegrationClientImpl } from "../types.js"; import type { DynamoDBClient, DynamoDBAttributeValue, DynamoDBScanOptions } from "./types.js"; /** * Internal implementation of DynamoDBClient. * * The orchestrator's DynamoDB handler only uses two fields from the proto: * - `action`: which AWS SDK command to execute * - `body`: JSON string of parameters passed directly to that command * * All other proto fields (table, filterBy, newValues, etc.) are ignored. */ export declare class DynamoDBClientImpl implements DynamoDBClient, IntegrationClientImpl { readonly config: IntegrationConfig; private readonly executeQuery; constructor(config: IntegrationConfig, executeQuery: QueryExecutor); get name(): string; get pluginId(): string; /** * Build a request with action and JSON body. * * @param action - AWS SDK command name (e.g., 'executeStatement', 'getItem') * @param params - Parameters to serialize as JSON body */ private buildRequest; /** * Validate a result against a schema. */ private validateResult; /** * Execute a request and wrap errors. */ private executeWithErrorHandling; query(statement: string, schema: z.ZodSchema, params?: DynamoDBAttributeValue[], metadata?: TraceMetadata): Promise; getItem(table: string, key: Record, schema: z.ZodSchema, metadata?: TraceMetadata): Promise; putItem(table: string, item: Record, metadata?: TraceMetadata): Promise; updateItem(table: string, key: Record, updateExpression: string, expressionAttributeValues: Record, expressionAttributeNames?: Record, metadata?: TraceMetadata): Promise; deleteItem(table: string, key: Record, metadata?: TraceMetadata): Promise; /** Copy optional AWS Scan fields onto the request body. */ private applyScanParams; private isScanOptions; private isTraceMetadata; scan(table: string, schema: z.ZodSchema, filterExpressionOrOptions?: string | DynamoDBScanOptions, expressionAttributeValuesOrMetadata?: Record | TraceMetadata, expressionAttributeNames?: Record, metadata?: TraceMetadata): Promise; queryTable(table: string, keyConditionExpression: string, expressionAttributeValues: Record, schema: z.ZodSchema, expressionAttributeNames?: Record, metadata?: TraceMetadata): Promise; batchWriteItem(requestItems: Record>>, metadata?: TraceMetadata): Promise; listTables(schema: z.ZodSchema, metadata?: TraceMetadata): Promise; describeTable(table: string, schema: z.ZodSchema, metadata?: TraceMetadata): Promise; deleteTable(table: string, metadata?: TraceMetadata): Promise; } //# sourceMappingURL=client.d.ts.map