import { NetMDFactoryInterface, NetMDInterface } from 'netmd-js'; import { ExploitStateManager } from './exploit-state'; export declare class CompatibilityError extends Error { constructor(m: string); } export declare class PatchError extends Error { constructor(m: string); } export type VersionPropertyStore = { [key: string]: { [key: string]: any; }; }; export type ExploitConstructor = (new (statemanager: ExploitStateManager) => T) & { _name: string; }; export interface ExploitPolicies { stateManagerUnpatchLegal?: boolean; permanent?: boolean; } export declare class AllocationContext { private stateManager; private allocatedAddresses; private currentAllocationPtr; constructor(stateManager: ExploitStateManager); _beginContext(): void; allocate(length: number): number; } export declare abstract class Exploit { protected stateManager: ExploitStateManager; _policies?: ExploitPolicies; protected iface: NetMDInterface; protected factoryIface: NetMDFactoryInterface; private allocationContext; constructor(stateManager: ExploitStateManager); init(...args: any[]): Promise; unload(): Promise; protected abstract getPropertyStore(allocationContext: AllocationContext): VersionPropertyStore; private _getPropertyStore; protected getProperty(name: string): any; protected getFirmwareProperty(name: string): any; protected getPropertyOrNull(name: string): any; protected getProperties(...names: string[]): any[]; protected assemble(code: string, variables?: { [key: string]: any; }): Uint8Array; assembleProperty(name: string, variables?: { [key: string]: any; }): Uint8Array; log(...e: string[]): void; } //# sourceMappingURL=exploit.d.ts.map