import { FragmentDefinitionNode, OperationDefinitionNode, SelectionSetNode, OperationTypeNode } from 'graphql';
import { GraphQLConfig } from 'graphql-config';
import { ParserOptions } from './types';
export declare type FragmentSource = {
    filePath: string;
    document: FragmentDefinitionNode;
};
export declare type OperationSource = {
    filePath: string;
    document: OperationDefinitionNode;
};
export declare type SiblingOperations = {
    available: boolean;
    getOperations(): OperationSource[];
    getFragments(): FragmentSource[];
    getFragment(fragmentName: string): FragmentSource[];
    getFragmentByType(typeName: string): FragmentSource[];
    getFragmentsInUse(baseOperation: OperationDefinitionNode | FragmentDefinitionNode | SelectionSetNode, recursive: boolean): FragmentDefinitionNode[];
    getOperation(operationName: string): OperationSource[];
    getOperationByType(operationType: OperationTypeNode): OperationSource[];
};
export declare function getSiblingOperations(options: ParserOptions, gqlConfig: GraphQLConfig): SiblingOperations;
