///
import { Pool } from "pg";
import { Task, RunnerOptions as WorkerRunnerOptions, Runner as WorkerRunner, Logger } from "graphile-worker";
import { Schedule } from "./upsertSchedule";
export interface ScheduleConfig extends Schedule {
task?: Task;
}
export interface RunnerOptions extends Omit {
checkInterval?: number;
leadTime?: number;
maxAge?: number;
schedules?: (string | ScheduleConfig)[];
/**
* Which PostgreSQL schema should Graphile Worker use for graphile-worker? Defaults to 'graphile_worker'.
*/
workerSchema?: string;
/**
* Which PostgreSQL schema should Graphile Worker use for graphile-scheduler? Defaults to 'graphile_scheduler'.
*/
schedulerSchema?: string;
}
export declare class Runner {
options: RunnerOptions;
workerOptions: WorkerRunnerOptions;
pgPool: Pool;
logger: Logger;
schedules?: (string | ScheduleConfig)[];
scheduleNames?: string[];
checkInterval: number;
leadTime: number;
maxAge: number;
interval: NodeJS.Timeout | null;
workerRunner: WorkerRunner | null;
constructor(options?: RunnerOptions);
get shouldRunWorker(): boolean;
runMigrations(): Promise;
private check;
runOnce(): Promise;
run(): Promise;
stop(): Promise;
}
export declare function run(options?: RunnerOptions): Promise;
export declare function runOnce(options?: RunnerOptions): Promise;