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