import * as cdk from 'aws-cdk-lib';
import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { ObjectTypeDefinitionNode } from 'graphql';
import { ITable } from 'aws-cdk-lib/aws-dynamodb';
import * as iam from 'aws-cdk-lib/aws-iam';
import { Construct } from 'constructs';
import { ModelVTLGenerator } from '../resolvers';
import { ModelResourceGenerator } from './model-resource-generator';
export declare class DynamoModelResourceGenerator extends ModelResourceGenerator {
    protected readonly generatorType = "DynamoModelResourceGenerator";
    generateResources(ctx: TransformerContextProvider): void;
    getVTLGenerator(): ModelVTLGenerator;
    protected createModelTable(scope: Construct, def: ObjectTypeDefinitionNode, context: TransformerContextProvider): void;
    protected createModelTableDataSource(def: ObjectTypeDefinitionNode, context: TransformerContextProvider, table: ITable, scope: Construct, role: iam.IRole, dataSourceLogicalName: string): void;
    protected createDynamoDBParameters(scope: Construct, isNestedStack: boolean): Record<string, cdk.CfnParameter>;
    createIAMRole: (context: TransformerContextProvider, def: ObjectTypeDefinitionNode, scope: Construct, tableName: string) => iam.IRole;
}
//# sourceMappingURL=dynamo-model-resource-generator.d.ts.map