import { GraphQLEnumTypeConfig, GraphQLEnumValue, GraphQLEnumValueConfig, GraphQLField, GraphQLFieldConfig, GraphQLInputField, GraphQLInputFieldConfig, GraphQLInputObjectTypeConfig, GraphQLInterfaceTypeConfig, GraphQLNamedType, GraphQLObjectTypeConfig, GraphQLScalarTypeConfig, GraphQLSchema, GraphQLSchemaConfig, GraphQLUnionTypeConfig } from 'graphql'; export interface DirectiveAnnotation { name: string; args?: Record; } export type DirectableGraphQLObject = GraphQLSchema | GraphQLSchemaConfig | GraphQLNamedType | GraphQLObjectTypeConfig | GraphQLInterfaceTypeConfig | GraphQLUnionTypeConfig | GraphQLScalarTypeConfig | GraphQLEnumTypeConfig | GraphQLEnumValue | GraphQLEnumValueConfig | GraphQLInputObjectTypeConfig | GraphQLField | GraphQLInputField | GraphQLFieldConfig | GraphQLInputFieldConfig; export declare function getDirectivesInExtensions(node: DirectableGraphQLObject, pathToDirectivesInExtensions?: string[]): Array; export declare function getDirectiveInExtensions(node: DirectableGraphQLObject, directiveName: string, pathToDirectivesInExtensions?: string[]): Array> | undefined; export declare function getDirectives(schema: GraphQLSchema, node: DirectableGraphQLObject, pathToDirectivesInExtensions?: string[]): Array; export declare function getDirective(schema: GraphQLSchema, node: DirectableGraphQLObject, directiveName: string, pathToDirectivesInExtensions?: string[]): Array> | undefined;