import type { KNamedParams, KJob, KConfig, KLog } from '../types.js'; import { CronJob } from 'cron'; import DirectoryImport from './DirectoryImport.js'; import Crontab from './Crontab.js'; import { EventEmitter } from 'node:events'; import HttpServer from './HttpServer.js'; import { ListenKeyPress } from './ListenKeyPress.js'; declare class Kronos extends EventEmitter { #private; jobs: Map; config: KConfig; crontab: Awaited> | undefined; directoryImport: DirectoryImport | undefined; log: KLog; httpServer: HttpServer | undefined; listenKeyPress: ListenKeyPress | undefined; static create(config: KConfig): Promise; constructor(config: KConfig); onDirImportChange(): Promise; createCrontab(): Promise<(Map & { onDidChange(cb: (newMap: ReadonlyMap, oldMap: ReadonlyMap) => void): void; offDidChange(cb: (newMap: ReadonlyMap, oldMap: ReadonlyMap) => void): void; close(): Promise; }) | undefined>; onCrontabChange(): Promise; add(cjParamsOrJob: KNamedParams | KJob | CronJob): KJob; count(): number; job(nameOrId: string | number): import("../types.js").KNamedJob | undefined; remove(jobOrName: string | KJob, force?: boolean): Promise; removeAll(force?: boolean): Promise; start(): void; stop(): void; close(): Promise; reloadAll(): Promise; list(): Map; listAsArray(): import("../types.js").KNamedJob[]; _importFromDirectory(): Promise; } export default Kronos;