import { type AbstractFloat, type AbstractInt, type Bool, type F16, type F32, type I32, type U16, type U32 } from './wgslTypes.ts';
/**
 * A schema that represents a boolean value. (equivalent to `bool` in WGSL)
 *
 * Can also be called to cast a value to a bool in accordance with WGSL casting rules.
 *
 * @example
 * const value = bool(); // false
 * @example
 * const value = bool(0); // false
 * @example
 * const value = bool(-0); // false
 * @example
 * const value = bool(21.37); // true
 */
export declare const bool: Bool;
/**
 * A schema that represents an unsigned 32-bit integer value. (equivalent to `u32` in WGSL)
 *
 * Can also be called to cast a value to an u32 in accordance with WGSL casting rules.
 *
 * @example
 * const value = u32(); // 0
 * @example
 * const value = u32(7); // 7
 * @example
 * const value = u32(3.14); // 3
 * @example
 * const value = u32(-1); // 4294967295
 * @example
 * const value = u32(-3.1); // 0
 */
export declare const u32: U32;
export declare const u16: U16;
/**
 * A schema that represents a signed 32-bit integer value. (equivalent to `i32` in WGSL)
 *
 * Can also be called to cast a value to an i32 in accordance with WGSL casting rules.
 *
 * @example
 * const value = i32(); // 0
 * @example
 * const value = i32(3.14); // 3
 * @example
 * const value = i32(-3.9); // -3
 * @example
 * const value = i32(10000000000) // 1410065408
 */
export declare const i32: I32;
/**
 * A schema that represents a 32-bit float value. (equivalent to `f32` in WGSL)
 *
 * Can also be called to cast a value to an f32.
 *
 * @example
 * const value = f32(); // 0
 * @example
 * const value = f32(1.23); // 1.23
 * @example
 * const value = f32(true); // 1
 */
export declare const f32: F32;
/**
 * Convert a JavaScript number (treated as float32) to **binary16** bit pattern.
 * @param x 32-bit floating-point value
 * @returns 16-bit half-precision encoding (stored in a JS number)
 */
export declare function toHalfBits(x: number): number;
/**
 * Convert a **binary16** encoded bit pattern back to JavaScript number.
 * @param h 16-bit half-precision bits
 * @returns JavaScript number (64-bit float) with same numerical value
 */
export declare function fromHalfBits(h: number): number;
/**
 * A schema that represents a 16-bit float value. (equivalent to `f16` in WGSL)
 *
 * Can also be called to cast a value to an f16.
 *
 * @example
 * const value = f16(); // 0
 * @example
 * const value = f32(1.23); // 1.23
 * @example
 * const value = f16(true); // 1
 * @example
 * const value = f16(21877.5); // 21872
 */
export declare const f16: F16;
export declare const abstractInt: AbstractInt;
export declare const abstractFloat: AbstractFloat;
