import { ReadStatType, ReadStatTypeClass, ReadStatMeasure, ReadStatAlignment } from "./types.js"; import { ReadStatValue } from "./value.js"; import { ReadStatError } from "./errors.js"; import type { LabelSet } from "./labelset.js"; export interface Missingness { /** Flat array: [lo0, hi0, lo1, hi1, ...]. */ ranges: ReadStatValue[]; count: number; } export declare class Variable { type: ReadStatType; index: number; name: string; format: string; label: string; labelSet: LabelSet | null; offset: number; storageWidth: number; userWidth: number; missingness: Missingness; measure: ReadStatMeasure; alignment: ReadStatAlignment; displayWidth: number; decimals: number; skip: number; indexAfterSkipping: number; constructor(type: ReadStatType, index: number, storageWidth?: number); getTypeClass(): ReadStatTypeClass; getName(): string | null; getLabel(): string | null; getFormat(): string | null; getMissingRangesCount(): number; getMissingRangeLo(i: number): ReadStatValue; getMissingRangeHi(i: number): ReadStatValue; private addMissingValueRange; addMissingDoubleValue(value: number): ReadStatError; addMissingDoubleRange(lo: number, hi: number): ReadStatError; addMissingStringValue(value: string): ReadStatError; addMissingStringRange(lo: string, hi: string): ReadStatError; setLabel(label: string): void; setFormat(format: string): void; setMeasure(measure: ReadStatMeasure): void; setAlignment(alignment: ReadStatAlignment): void; setDisplayWidth(width: number): void; } export declare function valueIsDefinedMissing(value: ReadStatValue, variable: Variable): boolean; export declare function valueIsMissing(value: ReadStatValue, variable: Variable | null): boolean;