import type { DelegationContext, SubschemaConfig, Transform } from '@graphql-tools/delegate';
import type { ExecutionRequest } from '@graphql-tools/utils';
import { ExecutionResult, GraphQLSchema } from 'graphql';
import { BlockTrackingConfig } from './shared.cjs';
interface BlockTrackingTransformConfig extends BlockTrackingConfig {
    if: boolean;
    validateSchema: boolean;
}
export declare class BlockTrackingTransform implements Transform {
    config: BlockTrackingTransformConfig;
    constructor({ config }?: {
        config?: Partial<BlockTrackingTransformConfig>;
    });
    transformSchema(schema: GraphQLSchema, subschemaConfig: SubschemaConfig<any, any, any, any>): GraphQLSchema;
    transformRequest(executionRequest: ExecutionRequest, delegationContext: DelegationContext): ExecutionRequest;
    transformResult(originalResult: ExecutionResult<any>, delegationContext: DelegationContext): ExecutionResult;
}
export {};
