export interface FridaBinding { commitConstructors(): void; DeviceManager: typeof DeviceManager; Device: typeof Device; _Device: typeof _Device; RemoteDeviceOptions: RemoteDeviceOptions; Application: typeof Application; Process: typeof Process; ProcessMatchOptions: ProcessMatchOptions; RawSpawnOptions: RawSpawnOptions; Spawn: typeof Spawn; Child: typeof Child; Crash: typeof Crash; Bus: typeof Bus; _Bus: typeof _Bus; Service: typeof Service; Session: typeof Session; Script: typeof Script; _Script: typeof _Script; PortalMembership: typeof PortalMembership; PackageManager: typeof PackageManager; Package: typeof Package; PackageSearchOptions: PackageSearchOptions; PackageSearchResult: typeof PackageSearchResult; PackageInstallOptions: PackageInstallOptions; PackageInstallResult: typeof PackageInstallResult; ControlService: typeof ControlService; ControlServiceOptions: ControlServiceOptions; PortalService: typeof PortalService; _PortalService: typeof _PortalService; FileMonitor: typeof FileMonitor; Compiler: typeof Compiler; CompilerOptions: CompilerOptions; BuildOptions: BuildOptions; WatchOptions: WatchOptions; StaticAuthenticationService: typeof StaticAuthenticationService; FrontmostQueryOptions: FrontmostQueryOptions; ApplicationQueryOptions: ApplicationQueryOptions; ProcessQueryOptions: ProcessQueryOptions; SessionOptions: SessionOptions; ScriptOptions: ScriptOptions; SnapshotOptions: SnapshotOptions; PortalOptions: PortalOptions; PeerOptions: PeerOptions; Relay: typeof Relay; _Relay: typeof _Relay; EndpointParameters: typeof EndpointParameters; _EndpointParameters: typeof _EndpointParameters; WebRequest: typeof WebRequest; WebResponse: typeof WebResponse; AbstractAuthenticationService: typeof AbstractAuthenticationService; AbstractWebRequestHandler: typeof AbstractWebRequestHandler; BaseObject: typeof BaseObject; Cancellable: typeof Cancellable; _Cancellable: typeof _Cancellable; IOStream: typeof IOStream; InputStream: typeof InputStream; OutputStream: typeof OutputStream; InetSocketAddress: typeof InetSocketAddress; InetAddress: typeof InetAddress; UnixSocketAddress: typeof UnixSocketAddress; BaseSocketAddress: typeof BaseSocketAddress; SocketAddressEnumerator: typeof SocketAddressEnumerator; Runtime: typeof Runtime; DeviceType: typeof DeviceType; PackageInstallPhase: typeof PackageInstallPhase; PackageRole: typeof PackageRole; OutputFormat: typeof OutputFormat; BundleFormat: typeof BundleFormat; TypeCheckMode: typeof TypeCheckMode; SourceMaps: typeof SourceMaps; JsCompression: typeof JsCompression; JsPlatform: typeof JsPlatform; GadgetBreakpointAction: typeof GadgetBreakpointAction; Realm: typeof Realm; SessionDetachReason: typeof SessionDetachReason; Scope: typeof Scope; Stdio: typeof Stdio; ChildOrigin: typeof ChildOrigin; SnapshotTransport: typeof SnapshotTransport; ScriptRuntime: typeof ScriptRuntime; RelayKind: typeof RelayKind; XnuMachTrap: typeof XnuMachTrap; XnuBsdSyscall: typeof XnuBsdSyscall; FileMonitorEvent: typeof FileMonitorEvent; SocketFamily: typeof SocketFamily; UnixSocketAddressType: typeof UnixSocketAddressType; MessageType: typeof MessageType; LogLevel: typeof LogLevel; } export class DeviceManager extends BaseObject { constructor(); close(cancellable?: Cancellable | null): Promise; getDeviceById(id: string, timeout: number, cancellable?: Cancellable | null): Promise; getDeviceByType(type: DeviceType, timeout: number, cancellable?: Cancellable | null): Promise; findDeviceById(id: string, timeout: number, cancellable?: Cancellable | null): Promise; findDeviceByType(type: DeviceType, timeout: number, cancellable?: Cancellable | null): Promise; enumerateDevices(cancellable?: Cancellable | null): Promise; addRemoteDevice(address: string, options?: RemoteDeviceOptions, cancellable?: Cancellable | null): Promise; removeRemoteDevice(address: string, cancellable?: Cancellable | null): Promise; readonly added: Signal; readonly removed: Signal; readonly changed: Signal; } export type DeviceAddedHandler = (device: Device) => void; export type DeviceRemovedHandler = (device: Device) => void; export type DeviceChangedHandler = () => void; export class Device extends _Device { getProcess(name: string, options?: ProcessMatchOptions, cancellable?: Cancellable | null): Promise; querySystemParameters(cancellable?: Cancellable | null): Promise; spawn(programOrArgv: string | string[], opts?: SpawnOptions, cancellable?: Cancellable | null): Promise; input(target: TargetProcess, data: Buffer, cancellable?: Cancellable | null): Promise; resume(target: TargetProcess, cancellable?: Cancellable | null): Promise; kill(target: TargetProcess, cancellable?: Cancellable | null): Promise; attach(target: TargetProcess, options?: SessionOptions, cancellable?: Cancellable | null): Promise; injectLibraryFile(target: TargetProcess, path: string, entrypoint: string, data: string, cancellable?: Cancellable | null): Promise; injectLibraryBlob(target: TargetProcess, blob: Buffer, entrypoint: string, data: string, cancellable?: Cancellable | null): Promise; openChannel(address: string, cancellable?: Cancellable | null): Promise; readonly output: Signal; readonly uninjected: Signal; } export type OutputHandler = (pid: ProcessID, fd: FileDescriptor, data: Buffer) => void; export type UninjectedHandler = (id: InjecteeID) => void; export class _Device extends BaseObject { isLost(): boolean; overrideOption(name: string, val: any): void; protected _querySystemParameters(cancellable?: Cancellable | null): Promise; getFrontmostApplication(options?: FrontmostQueryOptions, cancellable?: Cancellable | null): Promise; enumerateApplications(options?: ApplicationQueryOptions, cancellable?: Cancellable | null): Promise; getProcessByPid(pid: number, options?: ProcessMatchOptions, cancellable?: Cancellable | null): Promise; getProcessByName(name: string, options?: ProcessMatchOptions, cancellable?: Cancellable | null): Promise; findProcessByPid(pid: number, options?: ProcessMatchOptions, cancellable?: Cancellable | null): Promise; findProcessByName(name: string, options?: ProcessMatchOptions, cancellable?: Cancellable | null): Promise; enumerateProcesses(options?: ProcessQueryOptions, cancellable?: Cancellable | null): Promise; enableSpawnGating(cancellable?: Cancellable | null): Promise; disableSpawnGating(cancellable?: Cancellable | null): Promise; enumeratePendingSpawn(cancellable?: Cancellable | null): Promise; enumeratePendingChildren(cancellable?: Cancellable | null): Promise; protected _spawn(program: string, options?: RawSpawnOptions, cancellable?: Cancellable | null): Promise; protected _input(pid: number, data: Buffer, cancellable?: Cancellable | null): Promise; protected _resume(pid: number, cancellable?: Cancellable | null): Promise; protected _kill(pid: number, cancellable?: Cancellable | null): Promise; protected _attach(pid: number, options?: SessionOptions, cancellable?: Cancellable | null): Promise; protected _injectLibraryFile(pid: number, path: string, entrypoint: string, data: string, cancellable?: Cancellable | null): Promise; protected _injectLibraryBlob(pid: number, blob: Buffer, entrypoint: string, data: string, cancellable?: Cancellable | null): Promise; protected _openChannel(address: string, cancellable?: Cancellable | null): Promise; openService(address: string, cancellable?: Cancellable | null): Promise; unpair(cancellable?: Cancellable | null): Promise; readonly id: string; readonly name: string; icon: any; readonly type: DeviceType; readonly bus: Bus; readonly spawnAdded: Signal; readonly spawnRemoved: Signal; readonly childAdded: Signal; readonly childRemoved: Signal; readonly processCrashed: Signal; protected readonly _output: Signal<_OutputHandler>; protected readonly _uninjected: Signal<_UninjectedHandler>; readonly lost: Signal; } export type SpawnAddedHandler = (spawn: Spawn) => void; export type SpawnRemovedHandler = (spawn: Spawn) => void; export type ChildAddedHandler = (child: Child) => void; export type ChildRemovedHandler = (child: Child) => void; export type ProcessCrashedHandler = (crash: Crash) => void; export type _OutputHandler = (pid: number, fd: number, data: Buffer) => void; export type _UninjectedHandler = (id: number) => void; export type DeviceLostHandler = () => void; export interface RemoteDeviceOptions { certificate?: string; origin?: string; token?: string; keepaliveInterval?: number; } export class Application extends BaseObject { identifier: string; name: string; pid: number; parameters: VariantDict; } export class Process extends BaseObject { pid: number; name: string; parameters: VariantDict; } export interface ProcessMatchOptions { timeout?: number; scope?: Scope; } export interface RawSpawnOptions { argv?: string[]; envp?: string[]; env?: string[]; cwd?: string; stdio?: Stdio; aux?: VariantDict; } export class Spawn extends BaseObject { pid: number; identifier: string; } export class Child extends BaseObject { pid: number; parentPid: number; origin: ChildOrigin; identifier: string; path: string; argv: string[]; envp: string[]; } export class Crash extends BaseObject { pid: number; processName: string; summary: string; report: string; parameters: VariantDict; } export class Bus extends _Bus { post(message: any, data?: Buffer | null): void; readonly message: Signal; } export type BusMessageHandler = (message: any, data: Buffer | null) => void; export class _Bus extends BaseObject { isDetached(): boolean; attach(cancellable?: Cancellable | null): Promise; protected _post(json: string, data?: Buffer | null): void; readonly detached: Signal; protected readonly _message: Signal<_BusMessageHandler>; } export type BusDetachedHandler = () => void; export type _BusMessageHandler = (json: string, data: Buffer | null) => void; export class Service extends BaseObject { isClosed(): boolean; activate(cancellable?: Cancellable | null): Promise; cancel(cancellable?: Cancellable | null): Promise; request(parameters: any, cancellable?: Cancellable | null): Promise; readonly close: Signal; readonly message: Signal; } export type ServiceCloseHandler = () => void; export type ServiceMessageHandler = (message: any) => void; export class Session extends BaseObject { isDetached(): boolean; detach(cancellable?: Cancellable | null): Promise; resume(cancellable?: Cancellable | null): Promise; enableChildGating(cancellable?: Cancellable | null): Promise; disableChildGating(cancellable?: Cancellable | null): Promise; createScript(source: string, options?: ScriptOptions, cancellable?: Cancellable | null): Promise