import { WordCopyApplet } from './wordcopyapplet'; import { SamBA } from './samba'; export declare class FlashConfigError extends Error { constructor(msg?: string | undefined); } export declare class FlashRegionError extends Error { constructor(msg?: string | undefined); } export declare class FlashEraseError extends Error { constructor(msg?: string | undefined); } export declare class FlashCmdError extends Error { constructor(msg?: string | undefined); } export declare class FlashPageError extends Error { constructor(msg?: string | undefined); } declare class FlashOption { constructor(value: T); set(value: T): void; get(): T; isDirty(): boolean; private _value; private _dirty; } /** * */ export declare abstract class Flash { /** * Create a flasher * * @param samba SamBA instance handling IO with board * @param name Name of the board * @param addr Flash base address * @param pages Number of pages * @param size Page size in bytes * @param planes Number of flash planes * @param lockRegions Number of flash lock regions * @param user Address in SRAM where the applet and buffers will be placed * @param stack Address in SRAM where the applet stack will be placed */ constructor(samba: SamBA, name: string, addr: number, pages: number, size: number, planes: number, lockRegions: number, user: number, stack: number); protected _samba: SamBA; protected _name: string; protected _addr: number; protected _pages: number; protected _size: number; protected _planes: number; protected _lockRegions: number; protected _user: number; protected _stack: number; protected _prepared: boolean; abstract set eraseAuto(enable: boolean); get address(): number; get pageSize(): number; get numPages(): number; get numPlanes(): number; get totalSize(): number; get lockRegions(): number; abstract eraseAll(offset: number): void; abstract getLockRegions(): Promise>; setLockRegions(regions: Array): void; abstract getSecurity(): Promise; setSecurity(): void; abstract getBod(): Promise; setBod(enable: boolean): void; abstract canBod(): boolean; abstract getBor(): Promise; setBor(enable: boolean): void; abstract canBor(): boolean; abstract getBootFlash(): boolean; setBootFlash(enable: boolean): void; abstract canBootFlash(): boolean; abstract writeOptions(): void; abstract writePage(page: number): void; abstract readPage(page: number, buf: Uint8Array): Promise; writeBuffer(dst_addr: number, size: number): Promise; loadBuffer(data: Uint8Array, offset?: number, bufferSize?: number): Promise; prepareApplet(): Promise; protected _wordCopy: WordCopyApplet; protected _bootFlash: FlashOption; protected _regions: FlashOption>; protected _bod: FlashOption; protected _bor: FlashOption; protected _security: FlashOption; protected _onBufferA: boolean; protected _pageBufferA: number; protected _pageBufferB: number; } export {};