import { UUID } from "crypto"; import { Event } from "./events"; import { Priority } from "./priority"; export type RequestTask = () => T | Promise; export declare class Request { private readonly _priority; private eventLog; private readonly _promise; private resolvePromise; private rejectPromise; readonly id: UUID; readonly task: RequestTask; private _status; private _createdAt; constructor(task: RequestTask, _priority: Priority); get status(): Event; get priority(): number; get createdAt(): number; get promise(): Promise; resolve(value: T | PromiseLike): void; reject(reason?: unknown): void; set status(newStatus: Event); hasEventCreatedAndCompleted(): boolean; hasEventCompletedAndLaunched(): boolean; getEventTimestamp(event: Event): number | undefined; }