import { CacheInfo } from '../cache-info.js';
import { TaskModuleContinueResponse } from './task-module-continue-response.js';
import { TaskModuleMessageResponse } from './task-module-message-response.js';
import './task-module-response-base.js';
import './task-module-task-info.js';
import '../attachment/attachment.js';

/**
 *
 * An interface representing TaskModuleResponse.
 * Envelope for Task Module Response.
 */
type TaskModuleResponse = {
    /**
     * @member {TaskModuleContinueResponse | TaskModuleMessageResponse} [task] The JSON for the response to
     * appear in the task module.
     */
    task?: TaskModuleContinueResponse | TaskModuleMessageResponse;
    /**
     * @member {CacheInfo} [cacheInfo] The cache info for this response
     */
    cacheInfo?: CacheInfo;
};

export type { TaskModuleResponse };
