/**
 * The set of allowed directive location values.
 */
export const DirectiveLocation: _DirectiveLocation;

// @internal
type _DirectiveLocation = {
    // Request Definitions
    QUERY: "QUERY";
    MUTATION: "MUTATION";
    SUBSCRIPTION: "SUBSCRIPTION";
    FIELD: "FIELD";
    FRAGMENT_DEFINITION: "FRAGMENT_DEFINITION";
    FRAGMENT_SPREAD: "FRAGMENT_SPREAD";
    INLINE_FRAGMENT: "INLINE_FRAGMENT";
    VARIABLE_DEFINITION: "VARIABLE_DEFINITION";

    // Type System Definitions
    SCHEMA: "SCHEMA";
    SCALAR: "SCALAR";
    OBJECT: "OBJECT";
    FIELD_DEFINITION: "FIELD_DEFINITION";
    ARGUMENT_DEFINITION: "ARGUMENT_DEFINITION";
    INTERFACE: "INTERFACE";
    UNION: "UNION";
    ENUM: "ENUM";
    ENUM_VALUE: "ENUM_VALUE";
    INPUT_OBJECT: "INPUT_OBJECT";
    INPUT_FIELD_DEFINITION: "INPUT_FIELD_DEFINITION";
};

/**
 * The enum type representing the directive location values.
 */
export type DirectiveLocationEnum = _DirectiveLocation[keyof _DirectiveLocation];
