export default class VelociousJob {
    /**
     * Runs job name.
     * @returns {string} - Job name.
     */
    static jobName(): string;
    /**
     * Runs perform later.
     * @param {...?} args - Job args.
     * @returns {Promise<string>} - Job id.
     */
    static performLater(...args: unknown[]): Promise<string>;
    /**
     * Runs perform later with options.
     * @param {object} args - Options.
     * @param {Array<?>} args.args - Job args.
     * @param {import("./types.js").BackgroundJobOptions} [args.options] - Job options.
     * @returns {Promise<string>} - Job id.
     */
    static performLaterWithOptions({ args, options }: {
        args: Array<unknown>;
        options?: import("./types.js").BackgroundJobOptions | undefined;
    }): Promise<string>;
    /**
     * Runs split args and options.
     * @param {Array<?>} args - Job args.
     * @returns {{jobArgs: Array<?>, jobOptions: import("./types.js").BackgroundJobOptions}} - Split args and options.
     */
    static _splitArgsAndOptions(args: Array<unknown>): {
        jobArgs: Array<unknown>;
        jobOptions: import("./types.js").BackgroundJobOptions;
    };
    /**
     * Override in subclasses.
     * @returns {Promise<void>} - Resolves when complete.
     */
    perform(): Promise<void>;
}
//# sourceMappingURL=job.d.ts.map