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