import { FromSchema } from 'json-schema-to-ts';
import { GraphQLESLintRule } from '../../types.js';
import 'eslint';
import 'estree';
import 'graphql';
import 'graphql-config';
import '../../estree-converter/types.js';
import '../../siblings.js';
import '@graphql-tools/utils';

declare const RULE_ID = "require-description";
declare const schema: {
    readonly type: "array";
    readonly minItems: 1;
    readonly maxItems: 1;
    readonly items: {
        readonly type: "object";
        readonly additionalProperties: false;
        readonly minProperties: 1;
        readonly properties: {
            readonly OperationDefinition: {
                type: "boolean";
                description: string;
            };
            readonly ScalarTypeDefinition: {
                type: "boolean";
                description: string;
            };
            readonly ObjectTypeDefinition: {
                type: "boolean";
                description: string;
            };
            readonly FieldDefinition: {
                type: "boolean";
                description: string;
            };
            readonly InputValueDefinition: {
                type: "boolean";
                description: string;
            };
            readonly InterfaceTypeDefinition: {
                type: "boolean";
                description: string;
            };
            readonly UnionTypeDefinition: {
                type: "boolean";
                description: string;
            };
            readonly EnumTypeDefinition: {
                type: "boolean";
                description: string;
            };
            readonly EnumValueDefinition: {
                type: "boolean";
                description: string;
            };
            readonly InputObjectTypeDefinition: {
                type: "boolean";
                description: string;
            };
            readonly DirectiveDefinition: {
                type: "boolean";
                description: string;
            };
            readonly types: {
                readonly type: "boolean";
                readonly enum: readonly [true];
                readonly description: `Includes:
${string}`;
            };
            readonly rootField: {
                readonly type: "boolean";
                readonly enum: readonly [true];
                readonly description: "Definitions within `Query`, `Mutation`, and `Subscription` root types.";
            };
            readonly ignoredSelectors: {
                readonly description: string;
                readonly type: "array";
                readonly uniqueItems: true;
                readonly minItems: 1;
                readonly items: {
                    readonly type: "string";
                };
            };
        };
    };
};
type RuleOptions = FromSchema<typeof schema>;
declare const rule: GraphQLESLintRule<RuleOptions>;

export { RULE_ID, type RuleOptions, rule };
