import type { GraphQLSchema } from 'graphql';
import type { MeshTransform, MeshTransformOptions, YamlConfig } from '@graphql-mesh/types';
import type { DelegationContext, SubschemaConfig, Transform } from '@graphql-tools/delegate';
import type { ExecutionRequest, ExecutionResult } from '@graphql-tools/utils';
export default class EncapsulateTransform implements MeshTransform {
    private transformMap;
    private transforms;
    private config;
    private name;
    constructor(options: MeshTransformOptions<YamlConfig.Transform['encapsulate']>);
    generateSchemaTransforms(originalWrappingSchema: GraphQLSchema): Generator<Transform<any, Record<string, any>>, void, unknown>;
    transformSchema(originalWrappingSchema: GraphQLSchema, subschemaConfig: SubschemaConfig, transformedSchema?: GraphQLSchema): GraphQLSchema;
    transformRequest(originalRequest: ExecutionRequest, delegationContext: DelegationContext, transformationContext: Record<string, any>): ExecutionRequest<any, any, any, Record<string, any>, any>;
    transformResult(originalResult: ExecutionResult, delegationContext: DelegationContext, transformationContext: any): ExecutionResult<any, any>;
}
