react-native-background-task-manager
Version:
Advanced React Native background task manager with foreground services, scheduling, and geolocation support for Android
87 lines • 2.13 kB
TypeScript
import type { TaskConfig, TaskStatus } from './index';
export declare class TaskManagerClass {
private readonly tasks;
private taskRunner;
private isRunning;
private readonly samplingInterval;
/**
* Generate a unique task ID
*/
private generateTaskId;
/**
* Add a new task to the task manager
*/
addTask(taskFn: Function, config: TaskConfig): string;
/**
* Remove a task from the task manager
*/
removeTask(taskId: string): void;
/**
* Update an existing task
*/
updateTask(taskId: string, taskFn: Function, config: TaskConfig): void;
/**
* Pause a task
*/
pauseTask(taskId: string): void;
/**
* Resume a paused task
*/
resumeTask(taskId: string): void;
/**
* Check if a task is currently running
*/
isTaskRunning(taskId: string): boolean;
/**
* Get all tasks with their status
*/
getAllTasks(): Record<string, TaskStatus>;
/**
* Get status of a specific task
*/
getTaskStatus(taskId: string): TaskStatus | null;
/**
* Remove all tasks
*/
removeAllTasks(): void;
/**
* Start the task runner
*/
private startTaskRunner;
/**
* Stop the task runner
*/
private stopTaskRunner;
/**
* Execute tasks that are ready to run
*/
private executeTasksCycle;
/**
* Check if a task should be executed
*/
private shouldExecuteTask;
/**
* Get numeric priority value for sorting
*/
private getTaskPriority;
/**
* Execute a single task
*/
private executeTask;
/**
* Register a headless task for background execution
*/
registerForegroundTask(taskName: string, task: (taskData: any) => Promise<void>): void;
/**
* Get task manager statistics
*/
getStats(): {
totalTasks: number;
runningTasks: number;
pendingTasks: number;
completedTasks: number;
failedTasks: number;
};
}
export declare const TaskManager: TaskManagerClass;
//# sourceMappingURL=TaskManager.d.ts.map