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

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 fields: {
                readonly items: {
                    readonly enum: ("ObjectTypeDefinition" | "InterfaceTypeDefinition" | "InputObjectTypeDefinition")[];
                };
                readonly description: "Fields of `type`, `interface`, and `input`.";
                readonly type: "array";
                readonly uniqueItems: true;
                readonly minItems: 1;
            };
            readonly values: {
                readonly items: {
                    readonly enum: ["EnumTypeDefinition"];
                };
                readonly description: "Values of `enum`.";
                readonly type: "array";
                readonly uniqueItems: true;
                readonly minItems: 1;
            };
            readonly selections: {
                readonly items: {
                    readonly enum: ("OperationDefinition" | "FragmentDefinition")[];
                };
                readonly description: "Selections of `fragment` and operations `query`, `mutation` and `subscription`.";
                readonly type: "array";
                readonly uniqueItems: true;
                readonly minItems: 1;
            };
            readonly variables: {
                readonly items: {
                    readonly enum: ["OperationDefinition"];
                };
                readonly description: "Variables of operations `query`, `mutation` and `subscription`.";
                readonly type: "array";
                readonly uniqueItems: true;
                readonly minItems: 1;
            };
            readonly arguments: {
                readonly items: {
                    readonly enum: ("Field" | "Directive" | "FieldDefinition" | "DirectiveDefinition")[];
                };
                readonly description: "Arguments of fields and directives.";
                readonly type: "array";
                readonly uniqueItems: true;
                readonly minItems: 1;
            };
            readonly definitions: {
                readonly type: "boolean";
                readonly description: "Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.";
                readonly default: false;
            };
            readonly groups: {
                readonly minItems: 2;
                readonly description: "Custom order group. Example: `['id', '*', 'createdAt', 'updatedAt']` where `*` says for everything else.";
                readonly type: "array";
                readonly uniqueItems: true;
                readonly items: {
                    readonly type: "string";
                };
            };
        };
    };
};
type RuleOptions = FromSchema<typeof schema>;
declare const rule: GraphQLESLintRule<RuleOptions>;

export { RuleOptions, rule };
