import { AppSyncFunctionConfigurationProvider, DataSourceProvider, FunctionRuntimeTemplate, GraphQLAPIProvider, JSRuntimeTemplate, MappingTemplateProvider, TransformerContextProvider, TransformerResolverProvider, TransformerResolversManagerProvider, VTLRuntimeTemplate } from '@aws-amplify/graphql-transformer-interfaces'; import { CfnFunctionConfiguration } from 'aws-cdk-lib/aws-appsync'; import { Stack } from 'aws-cdk-lib'; import { Construct } from 'constructs'; type FunctionRuntimeTemplatePartialVTL = Partial | JSRuntimeTemplate; type Slot = { mappingTemplate?: FunctionRuntimeTemplatePartialVTL; dataSource?: DataSourceProvider; runtime?: CfnFunctionConfiguration.AppSyncRuntimeProperty; }; export declare const NONE_DATA_SOURCE_NAME = "NONE_DS"; export declare class ResolverManager implements TransformerResolversManagerProvider { private resolvers; generateQueryResolver: (typeName: string, fieldName: string, resolverLogicalId: string, dataSource: DataSourceProvider, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolver; generateMutationResolver: (typeName: string, fieldName: string, resolverLogicalId: string, dataSource: DataSourceProvider, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolver; generateSubscriptionResolver: (typeName: string, fieldName: string, resolverLogicalId: string, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolver; addResolver: (typeName: string, fieldName: string, resolver: TransformerResolverProvider) => TransformerResolverProvider; getResolver: (typeName: string, fieldName: string) => TransformerResolverProvider | undefined; hasResolver: (typeName: string, fieldName: string) => boolean; removeResolver: (typeName: string, fieldName: string) => TransformerResolverProvider; collectResolvers: () => Map; } export declare class TransformerResolver implements TransformerResolverProvider { private typeName; private fieldName; private resolverLogicalId; private mappingTemplate; private requestSlots; private responseSlots; private datasource?; private runtime?; private readonly slotMap; private readonly slotNames; private scope?; constructor(typeName: string, fieldName: string, resolverLogicalId: string, mappingTemplate: FunctionRuntimeTemplate, requestSlots: string[], responseSlots: string[], datasource?: DataSourceProvider | undefined, runtime?: CfnFunctionConfiguration.AppSyncRuntimeProperty | undefined); mapToStack: (stack: Stack) => void; setScope: (scope: Construct) => void; addJsFunctionToSlot: (slotName: string, codeMappingTemplate: MappingTemplateProvider, dataSource?: DataSourceProvider) => void; addVtlFunctionToSlot: (slotName: string, requestMappingTemplate?: MappingTemplateProvider, responseMappingTemplate?: MappingTemplateProvider, dataSource?: DataSourceProvider) => void; private addToSlot; slotExists: (slotName: string, mappingTemplate: FunctionRuntimeTemplatePartialVTL) => boolean; findSlot: (slotName: string, mappingTemplate: FunctionRuntimeTemplatePartialVTL) => Slot | undefined; updateSlot: (slotName: string, mappingTemplate: FunctionRuntimeTemplatePartialVTL) => void; synthesize: (context: TransformerContextProvider, api: GraphQLAPIProvider) => void; synthesizeResolvers: (scope: Construct, api: GraphQLAPIProvider, slotsNames: string[]) => AppSyncFunctionConfigurationProvider[]; private substituteSlotInfo; private ensureNoneDataSource; private createStashStatementGenerator; private getMappingTemplateNames; } export {}; //# sourceMappingURL=resolver.d.ts.map