import EventEmitter from 'node:events';
import type Manager from './manager.ts';
import * as types from './types.ts';
declare class Boss extends EventEmitter implements types.EventsMixin {
    #private;
    events: {
        error: string;
        warning: string;
    };
    constructor(db: types.IDatabase, manager: Manager, config: types.ResolvedConstructorOptions);
    get maintaining(): boolean;
    start(): Promise<void>;
    stop(): Promise<void>;
    supervise(value?: string | types.QueueResult[], options?: types.SuperviseOptions): Promise<void>;
    /**
     * The REINDEX statements this instance would run, for installations where it cannot run them
     * itself. Unlike the background pass this applies no ownership filter and no size cap unless one
     * is passed. The commands are for an operator, who may run them as a different role.
     */
    getReindexCommands(options?: types.ReindexOptions): Promise<string[]>;
}
export default Boss;
//# sourceMappingURL=boss.d.ts.map