import type { ArrayLikeIterable, NumericArray } from "@thi.ng/api";
import type { IRandom } from "@thi.ng/random";
import type { ColorFactory, ColorMode, ReadonlyColor, TypedColor } from "../api.js";
export declare abstract class Int32<T extends TypedColor<T>> implements TypedColor<T> {
    offset: number;
    stride: number;
    buf: NumericArray;
    value: number;
    [id: number]: number;
    constructor(buf?: NumericArray, offset?: number, stride?: number);
    abstract get mode(): ColorMode;
    abstract copy(): T;
    abstract copyView(): T;
    abstract empty(): T;
    eqDelta(o: T, eps?: number): boolean;
    get length(): number;
    get range(): [ReadonlyColor, ReadonlyColor];
    get alpha(): number;
    set alpha(x: number);
    get xyz(): [number, number, number];
    [Symbol.iterator](): Generator<number, void, unknown>;
    deref(): number[];
    randomize(rnd?: IRandom): this;
    clamp(): this;
    set(src: ArrayLikeIterable<number>): this;
    toJSON(): number[];
}
export declare class ARGB extends Int32<ARGB> implements TypedColor<ARGB> {
    [id: number]: number;
    get mode(): ColorMode;
    get r(): number;
    set r(x: number);
    get g(): number;
    set g(x: number);
    get b(): number;
    set b(x: number);
    copy(): ARGB;
    copyView(): ARGB;
    empty(): ARGB;
}
export declare class ABGR extends Int32<ABGR> implements TypedColor<ABGR> {
    [id: number]: number;
    get mode(): ColorMode;
    get r(): number;
    set r(x: number);
    get g(): number;
    set g(x: number);
    get b(): number;
    set b(x: number);
    copy(): ABGR;
    copyView(): ABGR;
    empty(): ABGR;
}
export declare const argb32: ColorFactory<ARGB>;
export declare const abgr32: ColorFactory<ABGR>;
//# sourceMappingURL=int.d.ts.map