import type ADBReader from './adb.ts';
import type { MissingKeyBlock } from './blte.ts';
interface FieldStructure {
    size: number;
    position: number;
}
interface FieldStorageInfoCompressionNone {
    fieldOffsetBits: number;
    fieldSizeBits: number;
    additionalDataSize: number;
    storageType: 'none';
}
interface FieldStorageInfoCompressionBitpacked {
    fieldOffsetBits: number;
    fieldSizeBits: number;
    additionalDataSize: number;
    storageType: 'bitpacked';
    bitpackingOffsetBits: number;
    bitpackingSizeBits: number;
    flags: number;
}
interface FieldStorageInfoCompressionCommonData {
    fieldOffsetBits: number;
    fieldSizeBits: number;
    additionalDataSize: number;
    storageType: 'commonData';
    defaultValue: number;
}
interface FieldStorageInfoCompressionBitpackedIndexed {
    fieldOffsetBits: number;
    fieldSizeBits: number;
    additionalDataSize: number;
    storageType: 'bitpackedIndexed';
    bitpackingOffsetBits: number;
    bitpackingSizeBits: number;
}
interface FieldStorageInfoCompressionBitpackedIndexedArray {
    fieldOffsetBits: number;
    fieldSizeBits: number;
    additionalDataSize: number;
    storageType: 'bitpackedIndexedArray';
    bitpackingOffsetBits: number;
    bitpackingSizeBits: number;
    arrayCount: number;
}
interface FieldStorageInfoCompressionBitpackedSigned {
    fieldOffsetBits: number;
    fieldSizeBits: number;
    additionalDataSize: number;
    storageType: 'bitpackedSigned';
    bitpackingOffsetBits: number;
    bitpackingSizeBits: number;
    flags: number;
}
type FieldStorageInfo = FieldStorageInfoCompressionNone | FieldStorageInfoCompressionBitpacked | FieldStorageInfoCompressionCommonData | FieldStorageInfoCompressionBitpackedIndexed | FieldStorageInfoCompressionBitpackedIndexedArray | FieldStorageInfoCompressionBitpackedSigned;
interface ParsedFieldNone {
    type: 'none';
    data: number | bigint;
    string?: string;
}
interface ParsedFieldCommonData {
    type: 'commonData';
    data: number;
}
interface ParsedFieldBitpacked {
    type: 'bitpacked';
    data: number;
}
interface ParsedFieldBitpackedArray {
    type: 'bitpackedArray';
    data: number[];
}
type ParsedField = ParsedFieldNone | ParsedFieldCommonData | ParsedFieldBitpacked | ParsedFieldBitpackedArray;
interface SparseRow {
    type: 'sparse';
    data: Buffer;
}
interface HotfixModify {
    type: 'modify';
    data: Buffer;
}
interface HotfixDelete {
    type: 'delete';
}
type Hotfix = HotfixModify | HotfixDelete;
export default class WDCReader {
    readonly tableHash: number;
    readonly layoutHash: number;
    readonly locale: number;
    readonly isNormal: boolean;
    readonly hasRelationshipData: boolean;
    readonly fields: FieldStructure[];
    readonly fieldsInfo: FieldStorageInfo[];
    readonly rows: Map<number, SparseRow | ParsedField[]>;
    readonly relationships: Map<number, number>;
    readonly copyTable: Map<number, number>;
    readonly hotfixes: Map<number, Hotfix>;
    constructor(buffer: Buffer, blocks?: MissingKeyBlock[], adb?: ADBReader);
    getAllIDs(): number[];
    getRowData(id: number): ParsedField[] | SparseRow | undefined;
    getRowRelationship(id: number): number | undefined;
}
export type { FieldStructure, FieldStorageInfo, FieldStorageInfoCompressionNone, FieldStorageInfoCompressionBitpacked, FieldStorageInfoCompressionCommonData, FieldStorageInfoCompressionBitpackedIndexed, FieldStorageInfoCompressionBitpackedIndexedArray, FieldStorageInfoCompressionBitpackedSigned, ParsedField, ParsedFieldNone, ParsedFieldCommonData, ParsedFieldBitpacked, ParsedFieldBitpackedArray, SparseRow, Hotfix, HotfixModify, HotfixDelete, };
//# sourceMappingURL=wdc.d.ts.map