export declare enum CriticalityLevel {
    Breaking = "BREAKING",
    NonBreaking = "NON_BREAKING",
    Dangerous = "DANGEROUS"
}
export interface Criticality {
    level: CriticalityLevel;
    reason?: string;
    /** Is `true` if the criticality is safe, because of the usage determined via the `checkUsage` config option. */
    isSafeBasedOnUsage?: boolean;
}
export interface Change<TChange extends keyof Changes = any> {
    message: string;
    path?: string;
    type: TChange;
    meta: Changes[TChange]['meta'];
    criticality: Criticality;
}
export declare const ChangeType: {
    readonly FieldArgumentDescriptionChanged: "FIELD_ARGUMENT_DESCRIPTION_CHANGED";
    readonly FieldArgumentDefaultChanged: "FIELD_ARGUMENT_DEFAULT_CHANGED";
    readonly FieldArgumentTypeChanged: "FIELD_ARGUMENT_TYPE_CHANGED";
    readonly DirectiveRemoved: "DIRECTIVE_REMOVED";
    readonly DirectiveAdded: "DIRECTIVE_ADDED";
    readonly DirectiveDescriptionChanged: "DIRECTIVE_DESCRIPTION_CHANGED";
    readonly DirectiveLocationAdded: "DIRECTIVE_LOCATION_ADDED";
    readonly DirectiveLocationRemoved: "DIRECTIVE_LOCATION_REMOVED";
    readonly DirectiveArgumentAdded: "DIRECTIVE_ARGUMENT_ADDED";
    readonly DirectiveArgumentRemoved: "DIRECTIVE_ARGUMENT_REMOVED";
    readonly DirectiveArgumentDescriptionChanged: "DIRECTIVE_ARGUMENT_DESCRIPTION_CHANGED";
    readonly DirectiveArgumentDefaultValueChanged: "DIRECTIVE_ARGUMENT_DEFAULT_VALUE_CHANGED";
    readonly DirectiveArgumentTypeChanged: "DIRECTIVE_ARGUMENT_TYPE_CHANGED";
    readonly EnumValueRemoved: "ENUM_VALUE_REMOVED";
    readonly EnumValueAdded: "ENUM_VALUE_ADDED";
    readonly EnumValueDescriptionChanged: "ENUM_VALUE_DESCRIPTION_CHANGED";
    readonly EnumValueDeprecationReasonChanged: "ENUM_VALUE_DEPRECATION_REASON_CHANGED";
    readonly EnumValueDeprecationReasonAdded: "ENUM_VALUE_DEPRECATION_REASON_ADDED";
    readonly EnumValueDeprecationReasonRemoved: "ENUM_VALUE_DEPRECATION_REASON_REMOVED";
    readonly FieldRemoved: "FIELD_REMOVED";
    readonly FieldAdded: "FIELD_ADDED";
    readonly FieldDescriptionChanged: "FIELD_DESCRIPTION_CHANGED";
    readonly FieldDescriptionAdded: "FIELD_DESCRIPTION_ADDED";
    readonly FieldDescriptionRemoved: "FIELD_DESCRIPTION_REMOVED";
    readonly FieldDeprecationAdded: "FIELD_DEPRECATION_ADDED";
    readonly FieldDeprecationRemoved: "FIELD_DEPRECATION_REMOVED";
    readonly FieldDeprecationReasonChanged: "FIELD_DEPRECATION_REASON_CHANGED";
    readonly FieldDeprecationReasonAdded: "FIELD_DEPRECATION_REASON_ADDED";
    readonly FieldDeprecationReasonRemoved: "FIELD_DEPRECATION_REASON_REMOVED";
    readonly FieldTypeChanged: "FIELD_TYPE_CHANGED";
    readonly FieldArgumentAdded: "FIELD_ARGUMENT_ADDED";
    readonly FieldArgumentRemoved: "FIELD_ARGUMENT_REMOVED";
    readonly InputFieldRemoved: "INPUT_FIELD_REMOVED";
    readonly InputFieldAdded: "INPUT_FIELD_ADDED";
    readonly InputFieldDescriptionAdded: "INPUT_FIELD_DESCRIPTION_ADDED";
    readonly InputFieldDescriptionRemoved: "INPUT_FIELD_DESCRIPTION_REMOVED";
    readonly InputFieldDescriptionChanged: "INPUT_FIELD_DESCRIPTION_CHANGED";
    readonly InputFieldDefaultValueChanged: "INPUT_FIELD_DEFAULT_VALUE_CHANGED";
    readonly InputFieldTypeChanged: "INPUT_FIELD_TYPE_CHANGED";
    readonly ObjectTypeInterfaceAdded: "OBJECT_TYPE_INTERFACE_ADDED";
    readonly ObjectTypeInterfaceRemoved: "OBJECT_TYPE_INTERFACE_REMOVED";
    readonly SchemaQueryTypeChanged: "SCHEMA_QUERY_TYPE_CHANGED";
    readonly SchemaMutationTypeChanged: "SCHEMA_MUTATION_TYPE_CHANGED";
    readonly SchemaSubscriptionTypeChanged: "SCHEMA_SUBSCRIPTION_TYPE_CHANGED";
    readonly TypeRemoved: "TYPE_REMOVED";
    readonly TypeAdded: "TYPE_ADDED";
    readonly TypeKindChanged: "TYPE_KIND_CHANGED";
    readonly TypeDescriptionChanged: "TYPE_DESCRIPTION_CHANGED";
    readonly TypeDescriptionRemoved: "TYPE_DESCRIPTION_REMOVED";
    readonly TypeDescriptionAdded: "TYPE_DESCRIPTION_ADDED";
    readonly UnionMemberRemoved: "UNION_MEMBER_REMOVED";
    readonly UnionMemberAdded: "UNION_MEMBER_ADDED";
    readonly DirectiveUsageUnionMemberAdded: "DIRECTIVE_USAGE_UNION_MEMBER_ADDED";
    readonly DirectiveUsageUnionMemberRemoved: "DIRECTIVE_USAGE_UNION_MEMBER_REMOVED";
    readonly DirectiveUsageEnumAdded: "DIRECTIVE_USAGE_ENUM_ADDED";
    readonly DirectiveUsageEnumRemoved: "DIRECTIVE_USAGE_ENUM_REMOVED";
    readonly DirectiveUsageEnumValueAdded: "DIRECTIVE_USAGE_ENUM_VALUE_ADDED";
    readonly DirectiveUsageEnumValueRemoved: "DIRECTIVE_USAGE_ENUM_VALUE_REMOVED";
    readonly DirectiveUsageInputObjectAdded: "DIRECTIVE_USAGE_INPUT_OBJECT_ADDED";
    readonly DirectiveUsageInputObjectRemoved: "DIRECTIVE_USAGE_INPUT_OBJECT_REMOVED";
    readonly DirectiveUsageFieldAdded: "DIRECTIVE_USAGE_FIELD_ADDED";
    readonly DirectiveUsageFieldRemoved: "DIRECTIVE_USAGE_FIELD_REMOVED";
    readonly DirectiveUsageScalarAdded: "DIRECTIVE_USAGE_SCALAR_ADDED";
    readonly DirectiveUsageScalarRemoved: "DIRECTIVE_USAGE_SCALAR_REMOVED";
    readonly DirectiveUsageObjectAdded: "DIRECTIVE_USAGE_OBJECT_ADDED";
    readonly DirectiveUsageObjectRemoved: "DIRECTIVE_USAGE_OBJECT_REMOVED";
    readonly DirectiveUsageInterfaceAdded: "DIRECTIVE_USAGE_INTERFACE_ADDED";
    readonly DirectiveUsageInterfaceRemoved: "DIRECTIVE_USAGE_INTERFACE_REMOVED";
    readonly DirectiveUsageArgumentDefinitionAdded: "DIRECTIVE_USAGE_ARGUMENT_DEFINITION_ADDED";
    readonly DirectiveUsageArgumentDefinitionRemoved: "DIRECTIVE_USAGE_ARGUMENT_DEFINITION_REMOVED";
    readonly DirectiveUsageSchemaAdded: "DIRECTIVE_USAGE_SCHEMA_ADDED";
    readonly DirectiveUsageSchemaRemoved: "DIRECTIVE_USAGE_SCHEMA_REMOVED";
    readonly DirectiveUsageFieldDefinitionAdded: "DIRECTIVE_USAGE_FIELD_DEFINITION_ADDED";
    readonly DirectiveUsageFieldDefinitionRemoved: "DIRECTIVE_USAGE_FIELD_DEFINITION_REMOVED";
    readonly DirectiveUsageInputFieldDefinitionAdded: "DIRECTIVE_USAGE_INPUT_FIELD_DEFINITION_ADDED";
    readonly DirectiveUsageInputFieldDefinitionRemoved: "DIRECTIVE_USAGE_INPUT_FIELD_DEFINITION_REMOVED";
};
export type ChangeType = (typeof ChangeType)[keyof typeof ChangeType];
export type FieldArgumentDescriptionChangedChange = {
    type: typeof ChangeType.FieldArgumentDescriptionChanged;
    meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        oldDescription: string | null;
        newDescription: string | null;
    };
};
export type FieldArgumentDefaultChangedChange = {
    type: typeof ChangeType.FieldArgumentDefaultChanged;
    meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        oldDefaultValue?: string;
        newDefaultValue?: string;
    };
};
export type FieldArgumentTypeChangedChange = {
    type: typeof ChangeType.FieldArgumentTypeChanged;
    meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        oldArgumentType: string;
        newArgumentType: string;
        isSafeArgumentTypeChange: boolean;
    };
};
export type DirectiveRemovedChange = {
    type: typeof ChangeType.DirectiveRemoved;
    meta: {
        removedDirectiveName: string;
    };
};
export type DirectiveAddedChange = {
    type: typeof ChangeType.DirectiveAdded;
    meta: {
        addedDirectiveName: string;
    };
};
export type DirectiveDescriptionChangedChange = {
    type: typeof ChangeType.DirectiveDescriptionChanged;
    meta: {
        directiveName: string;
        oldDirectiveDescription: string | null;
        newDirectiveDescription: string | null;
    };
};
export type DirectiveLocationAddedChange = {
    type: typeof ChangeType.DirectiveLocationAdded;
    meta: {
        directiveName: string;
        addedDirectiveLocation: string;
    };
};
export type DirectiveLocationRemovedChange = {
    type: typeof ChangeType.DirectiveLocationRemoved;
    meta: {
        directiveName: string;
        removedDirectiveLocation: string;
    };
};
export type DirectiveArgumentAddedChange = {
    type: typeof ChangeType.DirectiveArgumentAdded;
    meta: {
        directiveName: string;
        addedDirectiveArgumentName: string;
        addedDirectiveArgumentTypeIsNonNull: boolean;
    };
};
export type DirectiveArgumentRemovedChange = {
    type: typeof ChangeType.DirectiveArgumentRemoved;
    meta: {
        directiveName: string;
        removedDirectiveArgumentName: string;
    };
};
export type DirectiveArgumentDescriptionChangedChange = {
    type: typeof ChangeType.DirectiveArgumentDescriptionChanged;
    meta: {
        directiveName: string;
        directiveArgumentName: string;
        oldDirectiveArgumentDescription: string | null;
        newDirectiveArgumentDescription: string | null;
    };
};
export type DirectiveArgumentDefaultValueChangedChange = {
    type: typeof ChangeType.DirectiveArgumentDefaultValueChanged;
    meta: {
        directiveName: string;
        directiveArgumentName: string;
        oldDirectiveArgumentDefaultValue?: string;
        newDirectiveArgumentDefaultValue?: string;
    };
};
export type DirectiveArgumentTypeChangedChange = {
    type: typeof ChangeType.DirectiveArgumentTypeChanged;
    meta: {
        directiveName: string;
        directiveArgumentName: string;
        oldDirectiveArgumentType: string;
        newDirectiveArgumentType: string;
        /** Note: this could also be computed from oldDirectiveArgumentType and newDirectiveArgumentType */
        isSafeDirectiveArgumentTypeChange: boolean;
    };
};
export type EnumValueRemovedChange = {
    type: typeof ChangeType.EnumValueRemoved;
    meta: {
        enumName: string;
        removedEnumValueName: string;
        isEnumValueDeprecated: boolean;
    };
};
export type EnumValueAddedChange = {
    type: typeof ChangeType.EnumValueAdded;
    meta: {
        enumName: string;
        addedEnumValueName: string;
    };
};
export type EnumValueDescriptionChangedChange = {
    type: typeof ChangeType.EnumValueDescriptionChanged;
    meta: {
        enumName: string;
        enumValueName: string;
        oldEnumValueDescription: string | null;
        newEnumValueDescription: string | null;
    };
};
export type EnumValueDeprecationReasonChangedChange = {
    type: typeof ChangeType.EnumValueDeprecationReasonChanged;
    meta: {
        enumName: string;
        enumValueName: string;
        oldEnumValueDeprecationReason: string;
        newEnumValueDeprecationReason: string;
    };
};
export type EnumValueDeprecationReasonAddedChange = {
    type: typeof ChangeType.EnumValueDeprecationReasonAdded;
    meta: {
        enumName: string;
        enumValueName: string;
        addedValueDeprecationReason: string;
    };
};
export type EnumValueDeprecationReasonRemovedChange = {
    type: typeof ChangeType.EnumValueDeprecationReasonRemoved;
    meta: {
        enumName: string;
        enumValueName: string;
        removedEnumValueDeprecationReason: string;
    };
};
export type FieldRemovedChange = {
    type: typeof ChangeType.FieldRemoved;
    meta: {
        typeName: string;
        removedFieldName: string;
        isRemovedFieldDeprecated: boolean;
        typeType: string;
    };
};
export type FieldAddedChange = {
    type: typeof ChangeType.FieldAdded;
    meta: {
        typeName: string;
        addedFieldName: string;
        typeType: string;
    };
};
export type FieldDescriptionChangedChange = {
    type: typeof ChangeType.FieldDescriptionChanged;
    meta: {
        typeName: string;
        fieldName: string;
        oldDescription: string;
        newDescription: string;
    };
};
export type FieldDescriptionAddedChange = {
    type: typeof ChangeType.FieldDescriptionAdded;
    meta: {
        typeName: string;
        fieldName: string;
        addedDescription: string;
    };
};
export type FieldDescriptionRemovedChange = {
    type: typeof ChangeType.FieldDescriptionRemoved;
    meta: {
        typeName: string;
        fieldName: string;
    };
};
export type FieldDeprecationAddedChange = {
    type: typeof ChangeType.FieldDeprecationAdded;
    meta: {
        typeName: string;
        fieldName: string;
    };
};
export type FieldDeprecationRemovedChange = {
    type: typeof ChangeType.FieldDeprecationRemoved;
    meta: {
        typeName: string;
        fieldName: string;
    };
};
export type FieldDeprecationReasonChangedChange = {
    type: typeof ChangeType.FieldDeprecationReasonChanged;
    meta: {
        typeName: string;
        fieldName: string;
        oldDeprecationReason: string;
        newDeprecationReason: string;
    };
};
export type FieldDeprecationReasonAddedChange = {
    type: typeof ChangeType.FieldDeprecationReasonAdded;
    meta: {
        typeName: string;
        fieldName: string;
        addedDeprecationReason: string;
    };
};
export type FieldDeprecationReasonRemovedChange = {
    type: typeof ChangeType.FieldDeprecationReasonRemoved;
    meta: {
        typeName: string;
        fieldName: string;
    };
};
export type FieldTypeChangedChange = {
    type: typeof ChangeType.FieldTypeChanged;
    meta: {
        typeName: string;
        fieldName: string;
        oldFieldType: string;
        newFieldType: string;
        isSafeFieldTypeChange: boolean;
    };
};
export type DirectiveUsageUnionMemberAddedChange = {
    type: typeof ChangeType.DirectiveUsageUnionMemberAdded;
    meta: {
        unionName: string;
        addedUnionMemberTypeName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageUnionMemberRemovedChange = {
    type: typeof ChangeType.DirectiveUsageUnionMemberRemoved;
    meta: {
        unionName: string;
        removedUnionMemberTypeName: string;
        removedDirectiveName: string;
    };
};
export type FieldArgumentAddedChange = {
    type: typeof ChangeType.FieldArgumentAdded;
    meta: {
        typeName: string;
        fieldName: string;
        addedArgumentName: string;
        addedArgumentType: string;
        hasDefaultValue: boolean;
        isAddedFieldArgumentBreaking: boolean;
    };
};
export type FieldArgumentRemovedChange = {
    type: typeof ChangeType.FieldArgumentRemoved;
    meta: {
        typeName: string;
        fieldName: string;
        removedFieldArgumentName: string;
        removedFieldType: string;
    };
};
export type InputFieldRemovedChange = {
    type: typeof ChangeType.InputFieldRemoved;
    meta: {
        inputName: string;
        removedFieldName: string;
        isInputFieldDeprecated: boolean;
    };
};
export type InputFieldAddedChange = {
    type: typeof ChangeType.InputFieldAdded;
    meta: {
        inputName: string;
        addedInputFieldName: string;
        isAddedInputFieldTypeNullable: boolean;
        addedInputFieldType: string;
    };
};
export type InputFieldDescriptionAddedChange = {
    type: typeof ChangeType.InputFieldDescriptionAdded;
    meta: {
        inputName: string;
        inputFieldName: string;
        addedInputFieldDescription: string;
    };
};
export type InputFieldDescriptionRemovedChange = {
    type: typeof ChangeType.InputFieldDescriptionRemoved;
    meta: {
        inputName: string;
        inputFieldName: string;
        removedDescription: string;
    };
};
export type InputFieldDescriptionChangedChange = {
    type: typeof ChangeType.InputFieldDescriptionChanged;
    meta: {
        inputName: string;
        inputFieldName: string;
        oldInputFieldDescription: string;
        newInputFieldDescription: string;
    };
};
export type InputFieldDefaultValueChangedChange = {
    type: typeof ChangeType.InputFieldDefaultValueChanged;
    meta: {
        inputName: string;
        inputFieldName: string;
        oldDefaultValue?: string;
        newDefaultValue?: string;
    };
};
export type InputFieldTypeChangedChange = {
    type: typeof ChangeType.InputFieldTypeChanged;
    meta: {
        inputName: string;
        inputFieldName: string;
        oldInputFieldType: string;
        newInputFieldType: string;
        isInputFieldTypeChangeSafe: boolean;
    };
};
export type ObjectTypeInterfaceAddedChange = {
    type: typeof ChangeType.ObjectTypeInterfaceAdded;
    meta: {
        objectTypeName: string;
        addedInterfaceName: string;
    };
};
export type ObjectTypeInterfaceRemovedChange = {
    type: typeof ChangeType.ObjectTypeInterfaceRemoved;
    meta: {
        objectTypeName: string;
        removedInterfaceName: string;
    };
};
export type SchemaQueryTypeChangedChange = {
    type: typeof ChangeType.SchemaQueryTypeChanged;
    meta: {
        oldQueryTypeName: string;
        newQueryTypeName: string;
    };
};
export type SchemaMutationTypeChangedChange = {
    type: typeof ChangeType.SchemaMutationTypeChanged;
    meta: {
        oldMutationTypeName: string;
        newMutationTypeName: string;
    };
};
export type SchemaSubscriptionTypeChangedChange = {
    type: typeof ChangeType.SchemaSubscriptionTypeChanged;
    meta: {
        oldSubscriptionTypeName: string;
        newSubscriptionTypeName: string;
    };
};
export type TypeRemovedChange = {
    type: typeof ChangeType.TypeRemoved;
    meta: {
        removedTypeName: string;
    };
};
export type TypeAddedChange = {
    type: typeof ChangeType.TypeAdded;
    meta: {
        addedTypeName: string;
    };
};
export type TypeKindChangedChange = {
    type: typeof ChangeType.TypeKindChanged;
    meta: {
        typeName: string;
        oldTypeKind: string;
        newTypeKind: string;
    };
};
export type TypeDescriptionChangedChange = {
    type: typeof ChangeType.TypeDescriptionChanged;
    meta: {
        typeName: string;
        oldTypeDescription: string;
        newTypeDescription: string;
    };
};
export type TypeDescriptionAddedChange = {
    type: typeof ChangeType.TypeDescriptionAdded;
    meta: {
        typeName: string;
        addedTypeDescription: string;
    };
};
export type TypeDescriptionRemovedChange = {
    type: typeof ChangeType.TypeDescriptionRemoved;
    meta: {
        typeName: string;
        removedTypeDescription: string;
    };
};
export type UnionMemberRemovedChange = {
    type: typeof ChangeType.UnionMemberRemoved;
    meta: {
        unionName: string;
        removedUnionMemberTypeName: string;
    };
};
export type UnionMemberAddedChange = {
    type: typeof ChangeType.UnionMemberAdded;
    meta: {
        unionName: string;
        addedUnionMemberTypeName: string;
    };
};
export type DirectiveUsageEnumAddedChange = {
    type: typeof ChangeType.DirectiveUsageEnumAdded;
    meta: {
        enumName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageEnumRemovedChange = {
    type: typeof ChangeType.DirectiveUsageEnumRemoved;
    meta: {
        enumName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageEnumValueAddedChange = {
    type: typeof ChangeType.DirectiveUsageEnumValueAdded;
    meta: {
        enumName: string;
        enumValueName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageEnumValueRemovedChange = {
    type: typeof ChangeType.DirectiveUsageEnumValueRemoved;
    meta: {
        enumName: string;
        enumValueName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageInputObjectdRemovedChange = {
    type: typeof ChangeType.DirectiveUsageInputObjectRemoved;
    meta: {
        inputObjectName: string;
        removedInputFieldName: string;
        isRemovedInputFieldTypeNullable: boolean;
        removedInputFieldType: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageInputObjectAddedChange = {
    type: typeof ChangeType.DirectiveUsageInputObjectAdded;
    meta: {
        inputObjectName: string;
        addedInputFieldName: string;
        isAddedInputFieldTypeNullable: boolean;
        addedInputFieldType: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageInputFieldDefinitionAddedChange = {
    type: typeof ChangeType.DirectiveUsageInputFieldDefinitionAdded;
    meta: {
        inputObjectName: string;
        inputFieldName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageInputFieldDefinitionRemovedChange = {
    type: typeof ChangeType.DirectiveUsageInputFieldDefinitionRemoved;
    meta: {
        inputObjectName: string;
        inputFieldName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageFieldAddedChange = {
    type: typeof ChangeType.DirectiveUsageFieldAdded;
    meta: {
        typeName: string;
        fieldName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageFieldRemovedChange = {
    type: typeof ChangeType.DirectiveUsageFieldRemoved;
    meta: {
        typeName: string;
        fieldName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageScalarAddedChange = {
    type: typeof ChangeType.DirectiveUsageScalarAdded;
    meta: {
        scalarName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageScalarRemovedChange = {
    type: typeof ChangeType.DirectiveUsageScalarRemoved;
    meta: {
        scalarName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageObjectAddedChange = {
    type: typeof ChangeType.DirectiveUsageObjectAdded;
    meta: {
        objectName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageObjectRemovedChange = {
    type: typeof ChangeType.DirectiveUsageObjectRemoved;
    meta: {
        objectName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageInterfaceAddedChange = {
    type: typeof ChangeType.DirectiveUsageInterfaceAdded;
    meta: {
        interfaceName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageSchemaAddedChange = {
    type: typeof ChangeType.DirectiveUsageSchemaAdded;
    meta: {
        addedDirectiveName: string;
        schemaTypeName: string;
    };
};
export type DirectiveUsageSchemaRemovedChange = {
    type: typeof ChangeType.DirectiveUsageSchemaRemoved;
    meta: {
        removedDirectiveName: string;
        schemaTypeName: string;
    };
};
export type DirectiveUsageFieldDefinitionAddedChange = {
    type: typeof ChangeType.DirectiveUsageFieldDefinitionAdded;
    meta: {
        typeName: string;
        fieldName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageFieldDefinitionRemovedChange = {
    type: typeof ChangeType.DirectiveUsageFieldDefinitionRemoved;
    meta: {
        typeName: string;
        fieldName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageArgumentDefinitionChange = {
    type: typeof ChangeType.DirectiveUsageArgumentDefinitionAdded;
    meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        addedDirectiveName: string;
    };
};
export type DirectiveUsageArgumentDefinitionRemovedChange = {
    type: typeof ChangeType.DirectiveUsageArgumentDefinitionRemoved;
    meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        removedDirectiveName: string;
    };
};
export type DirectiveUsageInterfaceRemovedChange = {
    type: typeof ChangeType.DirectiveUsageInterfaceRemoved;
    meta: {
        interfaceName: string;
        removedDirectiveName: string;
    };
};
type Changes = {
    [ChangeType.TypeAdded]: TypeAddedChange;
    [ChangeType.TypeRemoved]: TypeRemovedChange;
    [ChangeType.TypeKindChanged]: TypeKindChangedChange;
    [ChangeType.TypeDescriptionChanged]: TypeDescriptionChangedChange;
    [ChangeType.TypeDescriptionAdded]: TypeDescriptionAddedChange;
    [ChangeType.TypeDescriptionRemoved]: TypeDescriptionRemovedChange;
    [ChangeType.UnionMemberRemoved]: UnionMemberRemovedChange;
    [ChangeType.UnionMemberAdded]: UnionMemberAddedChange;
    [ChangeType.SchemaQueryTypeChanged]: SchemaQueryTypeChangedChange;
    [ChangeType.SchemaMutationTypeChanged]: SchemaMutationTypeChangedChange;
    [ChangeType.SchemaSubscriptionTypeChanged]: SchemaSubscriptionTypeChangedChange;
    [ChangeType.ObjectTypeInterfaceAdded]: ObjectTypeInterfaceAddedChange;
    [ChangeType.ObjectTypeInterfaceRemoved]: ObjectTypeInterfaceRemovedChange;
    [ChangeType.InputFieldRemoved]: InputFieldRemovedChange;
    [ChangeType.InputFieldAdded]: InputFieldAddedChange;
    [ChangeType.InputFieldDescriptionAdded]: InputFieldDescriptionAddedChange;
    [ChangeType.InputFieldDescriptionRemoved]: InputFieldDescriptionRemovedChange;
    [ChangeType.InputFieldDescriptionChanged]: InputFieldDescriptionChangedChange;
    [ChangeType.InputFieldDefaultValueChanged]: InputFieldDefaultValueChangedChange;
    [ChangeType.InputFieldTypeChanged]: InputFieldTypeChangedChange;
    [ChangeType.FieldRemoved]: FieldRemovedChange;
    [ChangeType.FieldAdded]: FieldAddedChange;
    [ChangeType.FieldDescriptionAdded]: FieldDescriptionAddedChange;
    [ChangeType.FieldDescriptionRemoved]: FieldDescriptionRemovedChange;
    [ChangeType.FieldDescriptionChanged]: FieldDescriptionChangedChange;
    [ChangeType.FieldArgumentAdded]: FieldArgumentAddedChange;
    [ChangeType.FieldArgumentRemoved]: FieldArgumentRemovedChange;
    [ChangeType.InputFieldRemoved]: InputFieldRemovedChange;
    [ChangeType.InputFieldAdded]: InputFieldAddedChange;
    [ChangeType.InputFieldDescriptionAdded]: InputFieldDescriptionAddedChange;
    [ChangeType.InputFieldDescriptionRemoved]: InputFieldDescriptionRemovedChange;
    [ChangeType.InputFieldDescriptionChanged]: InputFieldDescriptionChangedChange;
    [ChangeType.InputFieldDefaultValueChanged]: InputFieldDefaultValueChangedChange;
    [ChangeType.InputFieldTypeChanged]: InputFieldTypeChangedChange;
    [ChangeType.ObjectTypeInterfaceAdded]: ObjectTypeInterfaceAddedChange;
    [ChangeType.ObjectTypeInterfaceRemoved]: ObjectTypeInterfaceRemovedChange;
    [ChangeType.SchemaQueryTypeChanged]: SchemaQueryTypeChangedChange;
    [ChangeType.SchemaMutationTypeChanged]: SchemaMutationTypeChangedChange;
    [ChangeType.SchemaSubscriptionTypeChanged]: SchemaSubscriptionTypeChangedChange;
    [ChangeType.TypeAdded]: TypeAddedChange;
    [ChangeType.TypeRemoved]: TypeRemovedChange;
    [ChangeType.TypeKindChanged]: TypeKindChangedChange;
    [ChangeType.TypeDescriptionChanged]: TypeDescriptionChangedChange;
    [ChangeType.TypeDescriptionRemoved]: TypeDescriptionRemovedChange;
    [ChangeType.TypeDescriptionAdded]: TypeDescriptionAddedChange;
    [ChangeType.UnionMemberAdded]: UnionMemberAddedChange;
    [ChangeType.UnionMemberRemoved]: UnionMemberRemovedChange;
    [ChangeType.DirectiveRemoved]: DirectiveRemovedChange;
    [ChangeType.DirectiveAdded]: DirectiveAddedChange;
    [ChangeType.DirectiveArgumentAdded]: DirectiveArgumentAddedChange;
    [ChangeType.DirectiveArgumentRemoved]: DirectiveArgumentRemovedChange;
    [ChangeType.DirectiveArgumentDescriptionChanged]: DirectiveArgumentDescriptionChangedChange;
    [ChangeType.DirectiveArgumentDefaultValueChanged]: DirectiveArgumentDefaultValueChangedChange;
    [ChangeType.DirectiveArgumentTypeChanged]: DirectiveArgumentTypeChangedChange;
    [ChangeType.DirectiveDescriptionChanged]: DirectiveDescriptionChangedChange;
    [ChangeType.FieldArgumentDescriptionChanged]: FieldArgumentDescriptionChangedChange;
    [ChangeType.FieldArgumentDefaultChanged]: FieldArgumentDefaultChangedChange;
    [ChangeType.FieldArgumentTypeChanged]: FieldArgumentTypeChangedChange;
    [ChangeType.DirectiveLocationAdded]: DirectiveLocationAddedChange;
    [ChangeType.DirectiveLocationRemoved]: DirectiveLocationRemovedChange;
    [ChangeType.EnumValueRemoved]: EnumValueRemovedChange;
    [ChangeType.EnumValueDescriptionChanged]: EnumValueDescriptionChangedChange;
    [ChangeType.EnumValueDeprecationReasonChanged]: EnumValueDeprecationReasonChangedChange;
    [ChangeType.EnumValueDeprecationReasonAdded]: EnumValueDeprecationReasonAddedChange;
    [ChangeType.EnumValueDeprecationReasonRemoved]: EnumValueDeprecationReasonRemovedChange;
    [ChangeType.EnumValueAdded]: EnumValueAddedChange;
    [ChangeType.FieldDeprecationAdded]: FieldDeprecationAddedChange;
    [ChangeType.FieldDeprecationRemoved]: FieldDeprecationRemovedChange;
    [ChangeType.FieldDeprecationReasonChanged]: FieldDeprecationReasonChangedChange;
    [ChangeType.FieldDeprecationReasonAdded]: FieldDeprecationReasonAddedChange;
    [ChangeType.FieldDeprecationReasonRemoved]: FieldDeprecationReasonRemovedChange;
    [ChangeType.FieldTypeChanged]: FieldTypeChangedChange;
    [ChangeType.DirectiveUsageUnionMemberAdded]: DirectiveUsageUnionMemberAddedChange;
    [ChangeType.DirectiveUsageUnionMemberRemoved]: DirectiveUsageUnionMemberRemovedChange;
    [ChangeType.DirectiveUsageEnumAdded]: DirectiveUsageEnumAddedChange;
    [ChangeType.DirectiveUsageEnumRemoved]: DirectiveUsageEnumRemovedChange;
    [ChangeType.DirectiveUsageEnumValueAdded]: DirectiveUsageEnumValueAddedChange;
    [ChangeType.DirectiveUsageEnumValueRemoved]: DirectiveUsageEnumValueRemovedChange;
    [ChangeType.DirectiveUsageInputObjectAdded]: DirectiveUsageInputObjectAddedChange;
    [ChangeType.DirectiveUsageInputObjectRemoved]: DirectiveUsageInputObjectdRemovedChange;
    [ChangeType.DirectiveUsageFieldAdded]: DirectiveUsageFieldAddedChange;
    [ChangeType.DirectiveUsageFieldRemoved]: DirectiveUsageFieldRemovedChange;
    [ChangeType.DirectiveUsageScalarAdded]: DirectiveUsageScalarAddedChange;
    [ChangeType.DirectiveUsageScalarRemoved]: DirectiveUsageScalarRemovedChange;
    [ChangeType.DirectiveUsageObjectAdded]: DirectiveUsageObjectAddedChange;
    [ChangeType.DirectiveUsageObjectRemoved]: DirectiveUsageObjectRemovedChange;
    [ChangeType.DirectiveUsageInterfaceAdded]: DirectiveUsageInterfaceAddedChange;
    [ChangeType.DirectiveUsageInterfaceRemoved]: DirectiveUsageInterfaceRemovedChange;
    [ChangeType.DirectiveUsageArgumentDefinitionAdded]: DirectiveUsageArgumentDefinitionChange;
    [ChangeType.DirectiveUsageArgumentDefinitionRemoved]: DirectiveUsageArgumentDefinitionRemovedChange;
    [ChangeType.DirectiveUsageSchemaAdded]: DirectiveUsageSchemaAddedChange;
    [ChangeType.DirectiveUsageSchemaRemoved]: DirectiveUsageSchemaRemovedChange;
    [ChangeType.DirectiveUsageFieldDefinitionAdded]: DirectiveUsageFieldDefinitionAddedChange;
    [ChangeType.DirectiveUsageFieldDefinitionRemoved]: DirectiveUsageFieldDefinitionRemovedChange;
};
export type SerializableChange = Changes[keyof Changes];
export {};
