export declare const STRING_CONTRACT: { readonly name: "String"; readonly kind: "primitive"; readonly strict: true; readonly operations: readonly [{ readonly id: "String.length"; readonly kind: "property"; readonly args: readonly ["String"]; readonly returns: "Number"; readonly lowers: { readonly kern: "String.length($0)"; readonly ts: "__kernStringLength($0)"; readonly python: "__kern_string_length($0)"; }; readonly fixtures: readonly [{ readonly args: readonly [""]; readonly returns: 0; }, { readonly args: readonly ["kern"]; readonly returns: 4; }, { readonly args: readonly ["𐐷"]; readonly returns: 1; }, { readonly args: readonly ["é"]; readonly returns: 2; }]; readonly review: { readonly summary: "KERN string length counts Unicode code points with no normalization."; readonly graph: readonly ["String", "Number", "portable", "unicode-code-point"]; }; }, { readonly id: "String.index"; readonly kind: "method"; readonly args: readonly ["String", "Number"]; readonly returns: readonly ["String", "Undefined"]; readonly lowers: { readonly kern: "String.index($0, $1)"; readonly ts: "__kernStringIndex($0, $1)"; readonly python: "__kern_string_index($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["abc", 1]; readonly returns: "b"; }, { readonly args: readonly ["a𐐷b", 1]; readonly returns: "𐐷"; }, { readonly args: readonly ["abc", 4]; readonly returns: { readonly __kernFixture: "Undefined"; }; }, { readonly args: readonly ["abc", -1]; readonly returns: { readonly __kernFixture: "Undefined"; }; }, { readonly args: readonly ["abc", 1.2]; readonly returns: { readonly __kernFixture: "Undefined"; }; }, { readonly args: readonly ["abc", "1"]; readonly throws: { readonly code: "strict-type"; readonly message: "String.index expects String, Number."; }; }]; readonly review: { readonly summary: "Strict string indexing over Unicode code-point offsets; negative, fractional, and out-of-range misses return Undefined."; readonly graph: readonly ["String", "Undefined", "strict", "portable", "unicode-code-point"]; }; }, { readonly id: "String.includes"; readonly kind: "method"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.includes($0, $1)"; readonly ts: "__kernStringIncludes($0, $1)"; readonly python: "__kern_string_includes($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["abc", "b"]; readonly returns: true; }, { readonly args: readonly ["abc", "x"]; readonly returns: false; }]; readonly review: { readonly summary: "Strict string containment."; readonly graph: readonly ["String", "Boolean", "portable"]; }; }, { readonly id: "String.startsWith"; readonly kind: "method"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.startsWith($0, $1)"; readonly ts: "__kernStringStartsWith($0, $1)"; readonly python: "__kern_string_starts_with($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["kern", "ke"]; readonly returns: true; }, { readonly args: readonly ["kern", "rn"]; readonly returns: false; }]; readonly review: { readonly summary: "Strict string prefix test."; readonly graph: readonly ["String", "Boolean", "portable"]; }; }, { readonly id: "String.endsWith"; readonly kind: "method"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.endsWith($0, $1)"; readonly ts: "__kernStringEndsWith($0, $1)"; readonly python: "__kern_string_ends_with($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["kern", "rn"]; readonly returns: true; }, { readonly args: readonly ["kern", "ke"]; readonly returns: false; }]; readonly review: { readonly summary: "Strict string suffix test."; readonly graph: readonly ["String", "Boolean", "portable"]; }; }, { readonly id: "String.slice"; readonly kind: "method"; readonly args: readonly ["String", "Number", "Number"]; readonly returns: "String"; readonly lowers: { readonly kern: "String.slice($0, $1, $2)"; readonly ts: "__kernStringSlice($0, $1, $2)"; readonly python: "__kern_string_slice($0, $1, $2)"; }; readonly fixtures: readonly [{ readonly args: readonly ["abcdef", 1, 4]; readonly returns: "bcd"; }, { readonly args: readonly ["abcdef", 1.9, 4.2]; readonly returns: "bcd"; }, { readonly args: readonly ["abc", 0, 2]; readonly returns: "ab"; }, { readonly args: readonly ["abcdef", -3, -1]; readonly returns: "de"; }, { readonly args: readonly ["abcdef", -20, 2]; readonly returns: "ab"; }, { readonly args: readonly ["abcdef", 4, 2]; readonly returns: ""; }, { readonly args: readonly ["a𐐷b", 1, 2]; readonly returns: "𐐷"; }, { readonly args: readonly ["éx", 0, 2]; readonly returns: "é"; }, { readonly args: readonly ["abc", "0", 2]; readonly throws: { readonly code: "strict-type"; readonly message: "String.slice expects String, Number, Number."; }; }, { readonly args: readonly ["abc", 1]; readonly throws: { readonly code: "strict-type"; readonly message: "String.slice expects String, Number, Number."; }; }]; readonly review: { readonly summary: "Strict string slice over Unicode code-point offsets with explicit start and end offsets; negative offsets count from the end."; readonly graph: readonly ["String", "Number", "strict", "portable", "unicode-code-point"]; }; }, { readonly id: "String.trim"; readonly kind: "method"; readonly args: readonly ["String"]; readonly returns: "String"; readonly lowers: { readonly kern: "String.trim($0)"; readonly ts: "__kernStringTrim($0)"; readonly python: "__kern_string_trim($0)"; }; readonly fixtures: readonly [{ readonly args: readonly [" kern "]; readonly returns: "kern"; }, { readonly args: readonly ["\ncore\t"]; readonly returns: "core"; }]; readonly review: { readonly summary: "Portable surrounding whitespace trim."; readonly graph: readonly ["String", "portable"]; }; }, { readonly id: "String.lower"; readonly kind: "method"; readonly args: readonly ["String"]; readonly returns: "String"; readonly lowers: { readonly kern: "String.lower($0)"; readonly ts: "__kernStringLower($0)"; readonly python: "__kern_string_lower($0)"; }; readonly fixtures: readonly [{ readonly args: readonly ["KERN"]; readonly returns: "kern"; }, { readonly args: readonly ["Core"]; readonly returns: "core"; }]; readonly review: { readonly summary: "Portable lowercase conversion."; readonly graph: readonly ["String", "portable"]; }; }, { readonly id: "String.upper"; readonly kind: "method"; readonly args: readonly ["String"]; readonly returns: "String"; readonly lowers: { readonly kern: "String.upper($0)"; readonly ts: "__kernStringUpper($0)"; readonly python: "__kern_string_upper($0)"; }; readonly fixtures: readonly [{ readonly args: readonly ["kern"]; readonly returns: "KERN"; }, { readonly args: readonly ["Core"]; readonly returns: "CORE"; }]; readonly review: { readonly summary: "Portable uppercase conversion."; readonly graph: readonly ["String", "portable"]; }; }, { readonly id: "String.concat"; readonly kind: "method"; readonly args: readonly ["String", "String"]; readonly returns: "String"; readonly lowers: { readonly kern: "String.concat($0, $1)"; readonly ts: "__kernStringConcat($0, $1)"; readonly python: "__kern_string_concat($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["kern", "lang"]; readonly returns: "kernlang"; }, { readonly args: readonly ["count:", 2]; readonly throws: { readonly code: "strict-type"; readonly message: "String.concat expects String, String."; }; }]; readonly review: { readonly summary: "Strict string concatenation; both operands must be String."; readonly graph: readonly ["String", "strict", "portable"]; }; }, { readonly id: "String.equals"; readonly kind: "method"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.equals($0, $1)"; readonly ts: "__kernStringEquals($0, $1)"; readonly python: "__kern_string_equals($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["kern", "kern"]; readonly returns: true; }, { readonly args: readonly ["kern", "core"]; readonly returns: false; }, { readonly args: readonly ["kern", true]; readonly throws: { readonly code: "strict-type"; readonly message: "String.equals expects String, String."; }; }]; readonly review: { readonly summary: "Strict string equality; cross-type equality is a type error in schema v1."; readonly graph: readonly ["String", "Boolean", "strict", "portable"]; }; }, { readonly id: "String.lessThan"; readonly kind: "operator"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.lessThan($0, $1)"; readonly ts: "__kernStringLessThan($0, $1)"; readonly python: "__kern_string_less_than($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["abc", "abd"]; readonly returns: true; }, { readonly args: readonly ["abc", "abc"]; readonly returns: false; }, { readonly args: readonly ["abc", true]; readonly throws: { readonly code: "strict-type"; readonly message: "String.lessThan expects String, String."; }; }]; readonly review: { readonly summary: "Strict string less-than comparison using KERN portable code-point ordering."; readonly graph: readonly ["String", "Boolean", "strict", "portable", "unicode-code-point-order"]; }; }, { readonly id: "String.lessThanOrEqual"; readonly kind: "operator"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.lessThanOrEqual($0, $1)"; readonly ts: "__kernStringLessThanOrEqual($0, $1)"; readonly python: "__kern_string_less_than_or_equal($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["abc", "abc"]; readonly returns: true; }, { readonly args: readonly ["abd", "abc"]; readonly returns: false; }]; readonly review: { readonly summary: "Strict string less-than-or-equal comparison using KERN portable code-point ordering."; readonly graph: readonly ["String", "Boolean", "strict", "portable", "unicode-code-point-order"]; }; }, { readonly id: "String.greaterThan"; readonly kind: "operator"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.greaterThan($0, $1)"; readonly ts: "__kernStringGreaterThan($0, $1)"; readonly python: "__kern_string_greater_than($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["abd", "abc"]; readonly returns: true; }, { readonly args: readonly ["abc", "abc"]; readonly returns: false; }]; readonly review: { readonly summary: "Strict string greater-than comparison using KERN portable code-point ordering."; readonly graph: readonly ["String", "Boolean", "strict", "portable", "unicode-code-point-order"]; }; }, { readonly id: "String.greaterThanOrEqual"; readonly kind: "operator"; readonly args: readonly ["String", "String"]; readonly returns: "Boolean"; readonly lowers: { readonly kern: "String.greaterThanOrEqual($0, $1)"; readonly ts: "__kernStringGreaterThanOrEqual($0, $1)"; readonly python: "__kern_string_greater_than_or_equal($0, $1)"; }; readonly fixtures: readonly [{ readonly args: readonly ["abc", "abc"]; readonly returns: true; }, { readonly args: readonly ["abc", "abd"]; readonly returns: false; }]; readonly review: { readonly summary: "Strict string greater-than-or-equal comparison using KERN portable code-point ordering."; readonly graph: readonly ["String", "Boolean", "strict", "portable", "unicode-code-point-order"]; }; }, { readonly id: "String.toString"; readonly kind: "coercion"; readonly args: readonly ["String"]; readonly returns: "String"; readonly lowers: { readonly kern: "String.toString($0)"; readonly ts: "__kernStringToString($0)"; readonly python: "__kern_string_to_string($0)"; }; readonly fixtures: readonly [{ readonly args: readonly ["kern"]; readonly returns: "kern"; }, { readonly args: readonly [""]; readonly returns: ""; }]; readonly review: { readonly summary: "String identity coercion."; readonly graph: readonly ["String", "portable"]; }; }]; };