import { type NVM, type NVMIO } from "./common/definitions.js"; import { type NVMDescriptor, type NVMModuleDescriptor } from "./nvm500/EntryParsers.js"; import { type NVM500Impl, type NVMData, type NVMEntryName, type ResolvedNVMLayout } from "./nvm500/shared.js"; export interface NVM500Info { layout: ResolvedNVMLayout; library: NVM500Impl["library"]; moduleDescriptors: Map; nvmDescriptor: NVMDescriptor; } export type NVM500EraseOptions = { layout: ResolvedNVMLayout; nvmSize: number; library: NVM500Impl["library"]; nvmDescriptor: NVMDescriptor; }; export declare class NVM500 implements NVM { constructor(io: NVMIO); private _io; private _access; private _info; get info(): NVM500Info | undefined; private ensureReadable; private ensureWritable; init(): Promise; private resolveLayout; private isLayoutValid; has(property: NVMEntryName): Promise; private readSingleRawEntry; private readRawEntry; private parseEntry; private readEntry; private readSingleEntry; get(property: NVMEntryName): Promise; getSingle(property: NVMEntryName, index: number): Promise; private encodeEntry; private writeSingleRawEntry; private writeRawEntry; private writeEntry; private writeSingleEntry; set(property: NVMEntryName, value: NVMData[]): Promise; setSingle(property: NVMEntryName, index: number, value: NVMData): Promise; private fill; delete(_property: NVMEntryName): Promise; erase(options: NVM500EraseOptions): Promise; } //# sourceMappingURL=NVM500.d.ts.map