import { type ASTNode, type FragmentDefinitionNode, type GraphQLSchema, type OperationDefinitionNode, type SelectionSetNode } from 'graphql';
import { Types } from '@graphql-codegen/plugin-helpers';
import { ClientSideBasePluginConfig, ClientSideBaseVisitor, LoadedFragment, RawClientSideBasePluginConfig } from '@graphql-codegen/visitor-plugin-common';
interface TypeScriptDocumentNodesVisitorPluginConfig extends RawClientSideBasePluginConfig {
    addTypenameToSelectionSets?: boolean;
}
export declare class TypeScriptDocumentNodesVisitor extends ClientSideBaseVisitor<TypeScriptDocumentNodesVisitorPluginConfig, ClientSideBasePluginConfig> {
    private pluginConfig;
    constructor(schema: GraphQLSchema, fragments: LoadedFragment[], config: TypeScriptDocumentNodesVisitorPluginConfig, documents: Types.DocumentFile[]);
    SelectionSet(node: SelectionSetNode, _: unknown, parent?: ASTNode): SelectionSetNode | void;
    protected getDocumentNodeSignature(resultType: string, variablesTypes: string, node: FragmentDefinitionNode | OperationDefinitionNode): string;
}
export {};
