import { Construct } from 'constructs'; import { GlobalSecondaryIndexProps, Table, TableProps } from 'aws-cdk-lib/aws-dynamodb'; import * as lambda from 'aws-cdk-lib/aws-lambda'; export interface StackSpotDynamoDBTableProps { readonly tableConfiguration: TableProps; readonly gsis?: GlobalSecondaryIndexProps[]; readonly lambdasConfiguration?: StackSpotDynamoDBTableLambdasConfigurationProps; readonly generateRepository?: boolean; readonly repositoryGenerationConfiguration?: StackSpotDynamoDBTableRepositoryGenerationConfigurationProps; } export interface StackSpotDynamoDBTableBackendLambda { readonly operationId: string; readonly lambdaFunc: lambda.Function; } export interface StackSpotDynamoDBTableLambdasConfigurationProps { readonly lambdasById: StackSpotDynamoDBTableBackendLambda[]; readonly tableNameEnvironmentVariable: string; readonly readOnly?: string[]; } export interface StackSpotDynamoDBTableRepositoryGenerationConfigurationProps { readonly sourceDir?: string; readonly tracing?: boolean; } export declare class StackSpotDynamoDBTable extends Table { private readonly repositoryCodegen?; protected readonly props: StackSpotDynamoDBTableProps; constructor(scope: Construct, id: string, props: StackSpotDynamoDBTableProps); private configureGlobalSecondaryIndexes; private configureLambdasPermission; private configReadWriteLambdas; private configReadOnlyLambdas; private getLambdasByGrantType; private configLambdas; }