import { ABISerializableObject } from "../serializer/Serializable.js";
import { ABIDecoder } from "../serializer/Decoder.js";
import { ABIEncoder } from "../serializer/Encoder.js";
import { Bytes, BytesType } from "./Bytes.js";
type FloatType = Float | number | string;
declare class Float implements ABISerializableObject {
    static abiName: string;
    static byteWidth: number;
    static from<T extends typeof Float>(this: T, value: FloatType): InstanceType<T>;
    static from(value: FloatType): unknown;
    static fromABI<T extends typeof Float>(this: T, decoder: ABIDecoder): InstanceType<T>;
    static fromABI(decoder: ABIDecoder): unknown;
    static abiDefault(): Float;
    static random<T extends typeof Float>(this: T): InstanceType<T>;
    static random(): unknown;
    value: number;
    constructor(value: number);
    equals(other: FloatType): boolean;
    toABI(encoder: ABIEncoder): void;
    toString(): string;
    toJSON(): string;
}
export type Float32Type = Float32 | FloatType;
export declare class Float32 extends Float {
    static abiName: string;
    static byteWidth: number;
    toString(): string;
}
export type Float64Type = Float64 | FloatType;
export declare class Float64 extends Float {
    static abiName: string;
    static byteWidth: number;
}
export type Float128Type = Float128 | BytesType;
export declare class Float128 implements ABISerializableObject {
    static abiName: string;
    static byteWidth: number;
    static from(value: Float128Type): Float128;
    static fromABI(decoder: ABIDecoder): Float128;
    static random(): Float128;
    data: Bytes;
    constructor(data: Bytes);
    equals(other: Float128Type): boolean;
    toABI(encoder: ABIEncoder): void;
    toString(): string;
    toJSON(): string;
}
export {};
//# sourceMappingURL=Float.d.ts.map