import { NetMDFactoryInterface, NetMDInterface } from 'netmd-js'; import { Assembler } from './assembler/assembler'; import { Exploit, ExploitConstructor } from './exploit'; export interface DeviceType { versionCode: string; hwid: number; isHimd: boolean; } interface LoadedExploit { exploit: T; resources: { patches: number[]; allocatedAddresses: number[]; }; } export declare class AllocationError extends Error { constructor(m: string); } export declare class UnloadError extends Error { constructor(m: string); } export interface Logger { log(tag: string, text: string): void; } export declare const ConsoleLogger: Logger; export declare class ExploitStateManager { iface: NetMDInterface; factoryIface: NetMDFactoryInterface; device: DeviceType; armAssembler: Assembler; thumbAssembler: Assembler; logger?: Logger | undefined; loadedList: { [key: string]: LoadedExploit; }; private freePatches; private freeMemory; private usedMemory; protected constructor(iface: NetMDInterface, factoryIface: NetMDFactoryInterface, device: DeviceType, armAssembler: Assembler, thumbAssembler: Assembler, logger?: Logger | undefined); getFreeMemoryMap(): string; getCurrentlyLoaded(): ExploitConstructor[]; allocate(length: number): number; release(start: number): void; private mergeMemoryMap; getIncrementalPatchNumber(): number; markPatchAsPermanent(patchNumber: number): void; freePatch(patch: number): void; getMaxPatchesAmount(): any; require(subclassConstructor: ExploitConstructor, ...args: Parameters): Promise; unload(object: ExploitConstructor | T): Promise; patch(address: number, value: Uint8Array, slot?: number): Promise; envelop(subclassConstructor: ExploitConstructor, ...allargs: [...Parameters, ((exploit: T) => Promise)]): Promise; static create(iface: NetMDInterface, factoryIface: NetMDFactoryInterface, logger?: Logger): Promise; log(...e: string[]): void; protected _log(tag: string, e: string[]): void; } export {}; //# sourceMappingURL=exploit-state.d.ts.map