import { DataSourceProvider, MutationFieldType, QueryFieldType, SubscriptionFieldType, TransformerContextProvider, TransformerResolverProvider } from '@aws-amplify/graphql-transformer-interfaces'; import { ObjectTypeDefinitionNode } from 'graphql'; import { ModelVTLGenerator } from '../resolvers'; import { ModelDirectiveConfiguration } from '../directive'; import { ModelTransformerOptions } from '../types'; export declare abstract class ModelResourceGenerator { protected datasourceMap: Record; private resolverMap; protected generatorType: string; private enabled; private provisioned; private unprovisioned; protected models: Array; protected modelDirectiveMap: Map; protected options: ModelTransformerOptions; constructor(options?: ModelTransformerOptions); getGeneratorType(): string; protected isEnabled(): boolean; protected isProvisioned(): boolean; protected isUnprovisioned(): boolean; enableGenerator(): void; enableProvisioned(): void; enableUnprovisioned(): void; addModelDefinition(def: ObjectTypeDefinitionNode, config: ModelDirectiveConfiguration): void; abstract generateResources(ctx: TransformerContextProvider): void; abstract getVTLGenerator(): ModelVTLGenerator; protected generateResolvers(context: TransformerContextProvider): void; generateGetResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateListResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, modelConfig: ModelDirectiveConfiguration, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateOnCreateResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateOnUpdateResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateOnDeleteResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; generateSyncResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider; getQueryFieldNames: (type: ObjectTypeDefinitionNode) => Set<{ fieldName: string; typeName: string; type: QueryFieldType; resolverLogicalId: string; }>; getMutationFieldNames: (type: ObjectTypeDefinitionNode) => Set<{ fieldName: string; typeName: string; type: MutationFieldType; resolverLogicalId: string; }>; getSubscriptionFieldNames: (type: ObjectTypeDefinitionNode) => Set<{ fieldName: string; typeName: string; type: SubscriptionFieldType; resolverLogicalId: string; }>; } //# sourceMappingURL=model-resource-generator.d.ts.map