export type SuccessResponse = {
    /**
     * Status code for successful operations
     */
    status: 0;
    /**
     * Result payload for the operation
     */
    result: {
        [key: string]: unknown;
    };
};
export type ErrorResponse = {
    /**
     * Status code for error operations
     */
    status: 1;
    /**
     * Error details
     */
    error: {
        [key: string]: unknown;
    };
};
export type ProtocolError = {
    /**
     * Error code
     */
    code: string;
    /**
     * Error message
     */
    message: string;
    /**
     * Additional error data
     */
    data?: {
        [key: string]: unknown;
    } | null;
};
export type TaskDto = {
    /**
     * Task identifier
     */
    id: string;
    /**
     * Task status
     */
    status: string;
    /**
     * Task progress (0-100)
     */
    progress: number;
};
export type ContainerSetupData = {
    body: {
        /**
         * Identifier of the template to use
         */
        templateId: string;
        /**
         * Arguments for the template
         */
        templateArgs: {
            [key: string]: string;
        };
        features?: Array<{
            /**
             * Feature identifier
             */
            id: string;
            /**
             * Options for the feature
             */
            options: {
                [key: string]: string;
            };
        }> | null;
    };
    path?: never;
    query?: never;
    url: '/container/setup';
};
export type ContainerSetupErrors = {
    /**
     * Error setting up container
     */
    400: ErrorResponse & {
        error?: ProtocolError;
    };
};
export type ContainerSetupError = ContainerSetupErrors[keyof ContainerSetupErrors];
export type ContainerSetupResponses = {
    /**
     * Successful operation
     */
    200: SuccessResponse & {
        result?: TaskDto;
    };
};
export type ContainerSetupResponse = ContainerSetupResponses[keyof ContainerSetupResponses];
