import { ExecutionRequest, ExecutionResult } from '@graphql-tools/utils';
import { DelegationContext, Transform } from './types.js';
declare const OverlappingAliases: unique symbol;
interface OverlappingAliasesContext {
    [OverlappingAliases]: boolean;
}
export declare class OverlappingAliasesTransform<TContext> implements Transform<OverlappingAliasesContext, TContext> {
    transformRequest(request: ExecutionRequest, delegationContext: DelegationContext<TContext>, transformationContext: OverlappingAliasesContext): {
        document: import("@graphql-typed-document-node/core").TypedDocumentNode<any, any>;
        variables?: any;
        operationType?: import("graphql").OperationTypeNode | undefined;
        operationName?: string | undefined;
        extensions?: Record<string, any> | undefined;
        rootValue?: any;
        context?: any;
        info?: import("graphql").GraphQLResolveInfo | undefined;
    };
    transformResult(result: ExecutionResult, _delegationContext: DelegationContext<TContext>, transformationContext: OverlappingAliasesContext): any;
}
export {};
