export default class BackgroundJobsStatusReporter {
    /**
     * Runs constructor.
     * @param {object} args - Options.
     * @param {import("../configuration.js").default} args.configuration - Configuration.
     * @param {string} [args.host] - Host.
     * @param {number} [args.port] - Port.
     */
    constructor({ configuration, host, port }: {
        configuration: import("../configuration.js").default;
        host?: string | undefined;
        port?: number | undefined;
    });
    configuration: import("../configuration.js").default;
    host: string | undefined;
    port: number | undefined;
    logger: Logger;
    /**
     * Runs report.
     * @param {object} args - Options.
     * @param {string} args.jobId - Job id.
     * @param {"completed" | "failed"} args.status - Status.
     * @param {?} [args.error] - Error.
     * @param {number} [args.handedOffAtMs] - Handed off timestamp.
     * @param {string} [args.workerId] - Worker id.
     * @returns {Promise<void>} - Resolves when reported.
     */
    report({ jobId, status, error, handedOffAtMs, workerId }: {
        jobId: string;
        status: "completed" | "failed";
        error?: unknown;
        handedOffAtMs?: number | undefined;
        workerId?: string | undefined;
    }): Promise<void>;
    /**
     * Runs report with retry.
     * @param {object} args - Options.
     * @param {string} args.jobId - Job id.
     * @param {"completed" | "failed"} args.status - Status.
     * @param {?} [args.error] - Error.
     * @param {number} [args.handedOffAtMs] - Handed off timestamp.
     * @param {string} [args.workerId] - Worker id.
     * @param {number} [args.maxDurationMs] - Max duration for retries.
     * @returns {Promise<void>} - Resolves when reported.
     */
    reportWithRetry({ jobId, status, error, handedOffAtMs, workerId, maxDurationMs }: {
        jobId: string;
        status: "completed" | "failed";
        error?: unknown;
        handedOffAtMs?: number | undefined;
        workerId?: string | undefined;
        maxDurationMs?: number | undefined;
    }): Promise<void>;
}
import Logger from "../logger.js";
//# sourceMappingURL=status-reporter.d.ts.map