import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
import type { ShellCreateData, ShellInData, ShellListData, ShellOpenData, ShellCloseData, ShellRestartData, ShellTerminateData, ShellResizeData, ShellRenameData } 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;
};
/**
 * Create a new shell
 * Creates a new terminal or command shell
 */
export declare const shellCreate: <ThrowOnError extends boolean = false>(options: Options<ShellCreateData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").OpenShellDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Send input to shell
 * Sends user input to an active shell
 */
export declare const shellIn: <ThrowOnError extends boolean = false>(options: Options<ShellInData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * List all shells
 * Retrieves a list of all available shells
 */
export declare const shellList: <ThrowOnError extends boolean = false>(options: Options<ShellListData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: {
        shells: Array<import("./types.gen").ShellDto>;
    };
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Open an existing shell
 * Opens an existing shell and retrieves its buffer
 */
export declare const shellOpen: <ThrowOnError extends boolean = false>(options: Options<ShellOpenData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").OpenShellDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Close a shell
 * Closes a shell without terminating the underlying process
 */
export declare const shellClose: <ThrowOnError extends boolean = false>(options: Options<ShellCloseData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Restart a shell
 * Restarts an existing shell process
 */
export declare const shellRestart: <ThrowOnError extends boolean = false>(options: Options<ShellRestartData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Terminate a shell
 * Terminates a shell and its underlying process
 */
export declare const shellTerminate: <ThrowOnError extends boolean = false>(options: Options<ShellTerminateData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: import("./types.gen").ShellDto;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Resize a shell
 * Updates the dimensions of a shell
 */
export declare const shellResize: <ThrowOnError extends boolean = false>(options: Options<ShellResizeData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
/**
 * Rename a shell
 * Updates the name of a shell
 */
export declare const shellRename: <ThrowOnError extends boolean = false>(options: Options<ShellRenameData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse & {
    result?: unknown;
}, import("./types.gen").ErrorResponse & {
    error?: import("./types.gen").CommonError;
}, ThrowOnError>;
