/*! Copyright 2024 the gnablib contributors MPL-1.1 */
import { BitReader } from '../BitReader.js';
import { BitWriter } from '../BitWriter.js';
import { WindowStr } from '../WindowStr.js';
import { ISerializer } from '../interfaces/ISerializer.js';
declare const consoleDebugSymbol: unique symbol;
export declare class Micro implements ISerializer {
    static readonly storageBytes = 3;
    static readonly serialBits = 20;
    private readonly _v;
    protected constructor(storage: Uint8Array);
    toString(): string;
    toPadString(): string;
    toJSON(): number;
    valueOf(): number;
    serialize(target: BitWriter): void;
    get serialSizeBits(): number;
    validate(): Micro;
    get [Symbol.toStringTag](): string;
    [consoleDebugSymbol](): string;
    protected fill(storage: Uint8Array): void;
    cloneTo(storage: Uint8Array): Micro;
    protected static writeValue(target: Uint8Array, v: number): void;
    protected static setupStor(storage?: Uint8Array): Uint8Array;
    static new(micro: number, storage?: Uint8Array): Micro;
    protected static parseIntoStorage(input: WindowStr, storage: Uint8Array, strict: boolean, left: boolean, name?: string): void;
    static parse(input: WindowStr, strict?: boolean, left?: boolean, storage?: Uint8Array): Micro;
    static deserialize(source: BitReader, storage?: Uint8Array): Micro;
}
export {};
