import { AnyFunction, Expr } from "@functionless/ast"; import { aws_dynamodb } from "aws-cdk-lib"; import { JsonFormat } from "typesafe-dynamodb/lib/json-format"; import { AppSyncVtlIntegration } from "../appsync"; import { ASL, ASLGraph, Task } from "../asl"; import { PrewarmClientInitializer } from "../function-prewarm"; import { IntegrationInput } from "../integration"; import { VTL } from "../vtl"; import { ITable } from "./table"; export declare const DocumentDBClient: PrewarmClientInitializer<"DynamoDB", AWS.DynamoDB.DocumentClient>; export declare const DynamoDBClient: PrewarmClientInitializer<"DynamoDBDocument", AWS.DynamoDB>; export declare type DynamoDBAccess = "read" | "write" | "read-write" | "full"; export declare function createDynamoIntegration(table: aws_dynamodb.ITable, operationName: keyof AWS.DynamoDB, format: JsonFormat, access: DynamoDBAccess, body: (client: Format extends JsonFormat.Document ? AWS.DynamoDB.DocumentClient : AWS.DynamoDB, params: Parameters) => ReturnType, asl?: { prepareParams?: (params: any) => any; resultSelector?: Task["ResultSelector"]; override?: never; } | { prepareParams?: never; resultSelector?: never; override: (input: Expr, context: ASL) => ASLGraph.NodeResults; }): F; export declare function makeAppSyncTableIntegration(table: ITable, methodName: string, integration: Omit, "kind" | "appSyncVtl"> & { appSyncVtl: Omit; }): F; export declare function addIfDefined(vtl: VTL, from: string, to: string, key: string): void; //# sourceMappingURL=integration.d.ts.map