import { aws_kms as kms, Resource } from 'aws-cdk-lib'; import { GlobalSecondaryIndexProps, ITable, LocalSecondaryIndexProps, SchemaOptions, TableProps } from 'aws-cdk-lib/aws-dynamodb'; import { IGrantable, Grant } from 'aws-cdk-lib/aws-iam'; import { Construct } from 'constructs'; export declare const CUSTOM_DDB_CFN_TYPE = "Custom::AmplifyDynamoDBTable"; export declare const CUSTOM_IMPORTED_DDB_CFN_TYPE = "Custom::ImportedAmplifyDynamoDBTable"; export interface AmplifyDynamoDBTableProps extends TableProps { customResourceServiceToken: string; allowDestructiveGraphqlSchemaUpdates?: boolean; replaceTableUponGsiUpdate?: boolean; isImported?: boolean; } export declare class AmplifyDynamoDBTable extends Resource { readonly encryptionKey?: kms.IKey; readonly tableArn: string; readonly tableName: string; readonly tableStreamArn: string | undefined; readonly tableFromAttr: ITable; private readonly customResourceServiceToken; private readonly table; private readonly keySchema; private readonly attributeDefinitions; private readonly globalSecondaryIndexes; private readonly localSecondaryIndexes; private readonly secondaryIndexSchemas; private readonly nonKeyAttributes; private readonly tablePartitionKey; private readonly tableSortKey?; private readonly billingMode; constructor(scope: Construct, id: string, props: AmplifyDynamoDBTableProps); addGlobalSecondaryIndex(props: GlobalSecondaryIndexProps): void; addLocalSecondaryIndex(props: LocalSecondaryIndexProps): void; schema(indexName?: string): SchemaOptions; grantStreamRead(grantee: IGrantable): Grant; private addKey; private findKey; private registerAttribute; private validateTable; private parseEncryption; private validateProvisioning; private validateIndexName; private validateNonKeyAttributes; private buildIndexKeySchema; private buildIndexProjection; } //# sourceMappingURL=index.d.ts.map