import '@nativescript/core/globals'; import type { Optional } from '@nativescript/core/utils/typescript-utils'; import { EventData, Observable } from '@nativescript/core'; export type WorkerEventType = 'event' | 'error' | 'started' | 'terminate'; export interface WorkerPostOptions { id?: number; messageData?: string; } export type WorkerPostEvent = { type: string; } & WorkerPostOptions; export interface WorkerEvent { data: { messageData?: any; error?: Error; nativeData?: { [k: string]: any; }; type: string; id?: number; }; } export interface IWorker extends BaseWorker { onmessage: Function; postMessage(event: WorkerPostEvent): any; } export declare abstract class BaseWorker extends Observable { protected context: any; constructor(context: any); onmessage: Function; postMessage(event: WorkerPostEvent): void; abstract receivedMessage(event: WorkerEvent): any; receivedMessageBase(event: WorkerEvent): boolean; messagePromises: { [key: string]: { resolve: Function; reject: Function; timeoutTimer: number; }[]; }; postPromiseMessage(type: string, messageData: any, id?: number, timeout?: number, nativeData?: any): Promise; stop(error?: any, id?: any): Promise; notify>(data: T): void; notifyAndAwait(eventName: any, data: any): Promise; sendError(error: any): Promise; }