import { DirectoryRecord } from './DirectoryRecord.js'; import { LongFormDate } from './utils.js'; export declare const enum VolumeDescriptorType { BootRecord = 0, Primary = 1, Supplementary = 2, Partition = 3, SetTerminator = 255 } export declare class VolumeDescriptor { protected _data: Uint8Array; constructor(_data: Uint8Array); type: VolumeDescriptorType; standardIdentifier: string; version: number; protected __padding__7: number; } export declare abstract class PrimaryOrSupplementaryVolumeDescriptor extends VolumeDescriptor { constructor(_data: Uint8Array); protected _decoder?: TextDecoder; protected _decode(data: Uint8Array): string; /** * The name of the system that can act upon sectors 0x00-0x0F for the volume. */ protected _systemIdentifier: Uint8Array; /** * The name of the system that can act upon sectors 0x00-0x0F for the volume. */ get systemIdentifier(): string; /** * Identification of this volume. */ protected _volumeIdentifier: Uint8Array; /** * Identification of this volume. */ get volumeIdentifier(): string; protected __padding__72: number; /** * Number of Logical Blocks in which the volume is recorded. */ volumeSpaceSize: number; protected _volumeSpaceSizeBE: number; /** * This is only used by Joliet */ protected escapeSequence: Uint8Array; /** * The size of the set in this logical volume (number of disks). */ volumeSetSize: number; protected _volumeSetSizeBE: number; /** * The number of this disk in the Volume Set. */ volumeSequenceNumber: number; protected _volumeSequenceNumberBE: number; /** * The size in bytes of a logical block. * NB: This means that a logical block on a CD could be something other than 2 KiB! */ logicalBlockSize: number; protected _logicalBlockSizeBE: number; /** * The size in bytes of the path table. */ pathTableSize: number; protected _pathTableSizeBE: number; /** * LBA location of the path table. * The path table pointed to contains only little-endian values. */ locationOfTypeLPathTable: number; /** * LBA location of the optional path table. * The path table pointed to contains only little-endian values. * Zero means that no optional path table exists. */ locationOfOptionalTypeLPathTable: number; protected _locationOfTypeMPathTable: number; get locationOfTypeMPathTable(): number; protected _locationOfOptionalTypeMPathTable: number; locationOfOptionalTypeMPathTable(): number; /** * Directory entry for the root directory. * Note that this is not an LBA address, * it is the actual Directory Record, * which contains a single byte Directory Identifier (0x00), * hence the fixed 34 byte size. */ protected _root: DirectoryRecord; rootDirectoryEntry(isoData: Uint8Array): DirectoryRecord; protected _volumeSetIdentifier: Uint8Array; get volumeSetIdentifier(): string; protected _publisherIdentifier: Uint8Array; get publisherIdentifier(): string; protected _dataPreparerIdentifier: Uint8Array; get dataPreparerIdentifier(): string; protected _applicationIdentifier: Uint8Array; get applicationIdentifier(): string; protected _copyrightFileIdentifier: Uint8Array; get copyrightFileIdentifier(): string; protected _abstractFileIdentifier: Uint8Array; get abstractFileIdentifier(): string; protected _bibliographicFileIdentifier: Uint8Array; get bibliographicFileIdentifier(): string; volumeCreationDate: LongFormDate; volumeModificationDate: LongFormDate; volumeExpirationDate: LongFormDate; volumeEffectiveDate: LongFormDate; fileStructureVersion: number; applicationUsed: Uint8Array; reserved: Uint8Array; toString(): string; abstract readonly name: string; } export declare class PrimaryVolumeDescriptor extends PrimaryOrSupplementaryVolumeDescriptor { readonly name = "ISO9660"; constructor(data: Uint8Array); } export declare class SupplementaryVolumeDescriptor extends PrimaryOrSupplementaryVolumeDescriptor { readonly name = "Joliet"; constructor(data: Uint8Array); }