import connect from "connect";
import { DefaultJobOptions, QuirrelClient, QuirrelJobHandler, EnqueueJobOpts, EnqueueJobOptions, Job, QuirrelOptions } from "./client";
export { DefaultJobOptions, QuirrelJobHandler, EnqueueJobOpts, EnqueueJobOptions, Job, };
export declare type Queue<Payload> = connect.Server & Omit<QuirrelClient<Payload>, "respondTo" | "makeRequest">;
declare module "connect" {
    interface IncomingMessage {
        body: string;
    }
}
export declare function Queue<Payload>(route: string, handler: QuirrelJobHandler<Payload>, options?: QuirrelOptions<Payload>): Queue<Payload>;
export declare function CronJob(route: string, cronSchedule: NonNullable<NonNullable<EnqueueJobOptions["repeat"]>["cron"]>, handler: () => Promise<void>, options?: QuirrelOptions): unknown;
