import { aws_dynamodb } from "aws-cdk-lib"; import { FormatObject, JsonFormat } from "typesafe-dynamodb/lib/json-format"; import { TableKey } from "typesafe-dynamodb/lib/key"; import { DynamoDBAppsyncExpression } from "./appsync"; import { ITable } from "./table"; export declare type ScanInput = Omit & { ExclusiveStartKey?: TableKey; ExpressionAttributeValues?: Format extends JsonFormat.AttributeValue ? AWS.DynamoDB.QueryInput["ExpressionAttributeValues"] : AWS.DynamoDB.DocumentClient.QueryInput["ExpressionAttributeValues"]; }; export interface ScanOutput extends Omit { Items?: FormatObject[]; LastEvaluatedKey?: TableKey; } export declare type Scan = (input?: ScanInput) => Promise>; export declare function createScanIntegration(table: aws_dynamodb.ITable, format: Format): Scan; export interface ScanAppsyncInput { query: DynamoDBAppsyncExpression; filter?: DynamoDBAppsyncExpression; index?: string; nextToken?: string; limit?: number; scanIndexForward?: boolean; consistentRead?: boolean; select?: "ALL_ATTRIBUTES" | "ALL_PROJECTED_ATTRIBUTES"; } export interface ScanAppsyncOutput { items: Item[]; nextToken: string; scannedCount: number; } /** * @see https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html#aws-appsync-resolver-mapping-template-reference-dynamodb-getitem */ export declare type ScanAppsync = (input: ScanAppsyncInput) => Promise>; export declare function createScanAppsyncIntegration(table: ITable): ScanAppsync; //# sourceMappingURL=scan.d.ts.map