import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
import type { TaskListData, TaskRunData, TaskRunCommandData, TaskStopData, TaskCreateData, TaskUpdateData, TaskSaveToConfigData, TaskGenerateConfigData, TaskCreateSetupTasksData } from './types.gen';
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
    /**
     * You can provide a client instance returned by `createClient()` instead of
     * individual options. This might be also useful if you want to implement a
     * custom client.
     */
    client?: Client;
};
/**
 * List tasks
 * Retrieve a list of all configured tasks
 */
export declare const taskList: <ThrowOnError extends boolean = false>(options: Options<TaskListData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").TaskListDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Run task
 * Start execution of a task by ID
 */
export declare const taskRun: <ThrowOnError extends boolean = false>(options: Options<TaskRunData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").TaskDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
/**
 * Run command
 * Run a shell command directly, optionally saving it as a task
 */
export declare const taskRunCommand: <ThrowOnError extends boolean = false>(options: Options<TaskRunCommandData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").TaskDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
/**
 * Stop task
 * Stop execution of a running task
 */
export declare const taskStop: <ThrowOnError extends boolean = false>(options: Options<TaskStopData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").TaskDto | unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
/**
 * Create task
 * Create a new task configuration
 */
export declare const taskCreate: <ThrowOnError extends boolean = false>(options: Options<TaskCreateData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").TaskListDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
/**
 * Update task
 * Update an existing task configuration
 */
export declare const taskUpdate: <ThrowOnError extends boolean = false>(options: Options<TaskUpdateData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").TaskDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
/**
 * Save task to config
 * Save a runtime task to the configuration file
 */
export declare const taskSaveToConfig: <ThrowOnError extends boolean = false>(options: Options<TaskSaveToConfigData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").TaskDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
/**
 * Generate task config
 * Generate a configuration file from current tasks
 */
export declare const taskGenerateConfig: <ThrowOnError extends boolean = false>(options: Options<TaskGenerateConfigData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
/**
 * Create setup tasks
 * Create tasks that run during sandbox setup
 */
export declare const taskCreateSetupTasks: <ThrowOnError extends boolean = false>(options: Options<TaskCreateSetupTasksData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").TaskError;
}, ThrowOnError>;
