import { BooleanValue, UndefinedValue, JSStringValue, ObjectValue, Value } from '../value.mts'; import { type ValueEvaluator } from '../completion.mts'; import { type FunctionObject, type PropertyKeyValue, type PlainEvaluator } from '#self'; /** https://tc39.es/ecma262/#sec-testing-and-comparison-operations */ /** https://tc39.es/ecma262/#sec-requireobjectcoercible */ export declare function RequireObjectCoercible(argument: Value): import("#self").ThrowCompletion | undefined; /** https://tc39.es/ecma262/#sec-isarray */ export declare function IsArray(argument: Value): BooleanValue | BooleanValue | import("#self").ThrowCompletion; /** https://tc39.es/ecma262/#sec-iscallable */ export declare function IsCallable(argument: Value): argument is FunctionObject; /** https://tc39.es/ecma262/#sec-isconstructor */ export declare function IsConstructor(argument: Value): argument is FunctionObject; /** https://tc39.es/ecma262/#sec-isextensible-o */ export declare function IsExtensible(O: ObjectValue): Generator>, import("#self").EvaluatorNextType>; /** https://tc39.es/ecma262/#sec-isinteger */ export declare function IsIntegralNumber(argument: Value): BooleanValue | BooleanValue; /** https://tc39.es/ecma262/#sec-ispropertykey */ export declare function IsPropertyKey(argument: unknown): argument is PropertyKeyValue; /** https://tc39.es/ecma262/#sec-isregexp */ export declare function IsRegExp(argument: Value): ValueEvaluator; /** https://tc39.es/ecma262/#sec-isstringprefix */ export declare function IsStringPrefix(p: JSStringValue, q: JSStringValue): boolean; /** https://tc39.es/ecma262/#sec-samevalue */ export declare function SameValue(x: Value, y: Value): boolean; /** https://tc39.es/ecma262/#sec-samevaluezero */ export declare function SameValueZero(x: Value, y: Value): boolean; /** https://tc39.es/ecma262/#sec-samevaluenonnumber */ export declare function SameValueNonNumber(x: Value, y: Value): boolean; /** https://tc39.es/ecma262/#sec-islessthan */ export declare function IsLessThan(x: Value, y: Value, LeftFirst?: boolean): ValueEvaluator; /** https://tc39.es/ecma262/#sec-islooselyequal */ export declare function IsLooselyEqual(x: Value, y: Value): PlainEvaluator; /** https://tc39.es/ecma262/#sec-isstrictlyequal */ export declare function IsStrictlyEqual(x: Value, y: Value): boolean; //# sourceMappingURL=testing-comparison.d.mts.map