import type { Change, TypeOfChangeType } from '@graphql-inspector/core';
/**
 * One case that stands out is if the change is to add a repeatable directive, but the
 * comparison first adds a directive, and then adds repeatable.
 *
 * To solve this, eat distinct change to a schema must be tracked separately. This is already
 * happening, but DIRECTIVE_ADDED does include metadata for repeatability... This should
 * likely be deprecated from that change type to keep these changes discrete. Same goes for
 * directive locations.
 */
export declare const requiredMatchMetaMap: {
    [changeType in TypeOfChangeType]: Array<keyof Change<changeType>['meta']>;
};
/**
 * @throws {Error} if there is no matching change type.
 */
export declare function isChangeEqual<T extends TypeOfChangeType, Y extends TypeOfChangeType>(a: Change<T>, b: Change<Y>): boolean;
