import { DefaultOutput, ParamValues, DefaultParams } from "../../client/executeTask";
import { FullMutation, RunbookFullMutation } from "../../components/query";
import { RunbookMutationResult } from "./useRunbookMutation";
import { MutationResult } from "./useTaskMutation";
export type TaskOrRunbookMutationResult<TParams extends ParamValues | undefined = DefaultParams, TOutput = DefaultOutput> = {
    type: "TASK";
    result: MutationResult<TParams, TOutput>;
} | {
    type: "RUNBOOK";
    result: RunbookMutationResult<TParams>;
};
export type TaskOrRunbookFullMutation<TParams extends ParamValues | undefined = DefaultParams, TOutput = DefaultOutput> = {
    mutation: FullMutation<TParams, TOutput>;
    type: "TASK";
} | {
    mutation: RunbookFullMutation<TParams>;
    type: "RUNBOOK";
};
export declare const useTaskOrRunbookMutation: <TParams extends ParamValues | undefined = DefaultParams, TOutput = any>(mutation: TaskOrRunbookFullMutation<TParams, TOutput>) => TaskOrRunbookMutationResult<TParams, TOutput>;
