import { GraphQLArgument, GraphQLField, GraphQLInterfaceType, GraphQLObjectType } from 'graphql';
import { Change, ChangeType, CriticalityLevel, FieldArgumentDefaultChangedChange, FieldArgumentDescriptionChangedChange, FieldArgumentTypeChangedChange } from './change.js';
export declare function fieldArgumentDescriptionChangedFromMeta(args: FieldArgumentDescriptionChangedChange): {
    readonly type: "FIELD_ARGUMENT_DESCRIPTION_CHANGED";
    readonly criticality: {
        readonly level: CriticalityLevel.NonBreaking;
    };
    readonly message: string;
    readonly meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        oldDescription: string | null;
        newDescription: string | null;
    };
    readonly path: string;
};
export declare function fieldArgumentDescriptionChanged(type: GraphQLObjectType | GraphQLInterfaceType, field: GraphQLField<any, any, any>, oldArg: GraphQLArgument, newArg: GraphQLArgument): Change<typeof ChangeType.FieldArgumentDescriptionChanged>;
export declare function fieldArgumentDefaultChangedFromMeta(args: FieldArgumentDefaultChangedChange): {
    readonly type: "FIELD_ARGUMENT_DEFAULT_CHANGED";
    readonly criticality: {
        readonly level: CriticalityLevel.Dangerous;
        readonly reason: "Changing the default value for an argument may change the runtime behaviour of a field if it was never provided.";
    };
    readonly message: string;
    readonly meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        oldDefaultValue?: string;
        newDefaultValue?: string;
    };
    readonly path: string;
};
export declare function fieldArgumentDefaultChanged(type: GraphQLObjectType | GraphQLInterfaceType, field: GraphQLField<any, any, any>, oldArg: GraphQLArgument, newArg: GraphQLArgument): Change<typeof ChangeType.FieldArgumentDefaultChanged>;
export declare function fieldArgumentTypeChangedFromMeta(args: FieldArgumentTypeChangedChange): {
    readonly type: "FIELD_ARGUMENT_TYPE_CHANGED";
    readonly criticality: {
        level: CriticalityLevel;
        reason: string;
    };
    readonly message: string;
    readonly meta: {
        typeName: string;
        fieldName: string;
        argumentName: string;
        oldArgumentType: string;
        newArgumentType: string;
        isSafeArgumentTypeChange: boolean;
    };
    readonly path: string;
};
export declare function fieldArgumentTypeChanged(type: GraphQLObjectType | GraphQLInterfaceType, field: GraphQLField<any, any, any>, oldArg: GraphQLArgument, newArg: GraphQLArgument): Change<typeof ChangeType.FieldArgumentTypeChanged>;
