import { Task } from "../Task";
import * as tbbox from "@sinclair/typebox";
export declare class FetchTask<Output extends Record<string, any>> extends Task<typeof FetchTask.schema, Output> {
    type: string;
    static schema: tbbox.TObject<{
        url: tbbox.TString;
        method: tbbox.TOptional<tbbox.TTransform<tbbox.TUnion<[{
            title: string;
        } & tbbox.TUnsafe<string>, tbbox.TString]>, string>>;
        headers: tbbox.TOptional<tbbox.TTransform<tbbox.TUnion<[{
            title: string;
        } & tbbox.TArray<tbbox.TObject<{
            key: tbbox.TString;
            value: tbbox.TString;
        }>>, tbbox.TString]>, {
            key: string;
            value: string;
        }[]>>;
        body: tbbox.TOptional<tbbox.TTransform<tbbox.TUnion<[{
            title: string;
        } & tbbox.TString, tbbox.TString]>, string>>;
        normal: tbbox.TOptional<tbbox.TTransform<tbbox.TUnion<[{
            title: string;
        } & tbbox.TNumber, tbbox.TString]>, number>>;
    }>;
    protected getBody(): string | undefined;
    execute(): Promise<Output>;
}
