import { Message, PredictionParsed, StatusEnum } from './agent.mjs';
export { ActionInputs, ScreenshotResult, Status, VlmResponse } from './agent.mjs';
import { ShareVersion } from './share.mjs';
import { VlmModeEnum } from '../constants/vlm.mjs';

/**
 * Copyright (c) 2025 Bytedance, Inc. and its affiliates.
 * SPDX-License-Identifier: Apache-2.0
 */

interface Conversation extends Message {
    timing?: {
        start: number;
        end: number;
        cost: number;
    };
    /** exists when <image> exists */
    screenshotBase64?: string;
    screenshotContext?: {
        size: {
            width: number;
            height: number;
        };
    };
    predictionParsed?: PredictionParsed[];
    /** exists when predictionParsed exists */
    screenshotBase64WithElementMarker?: string;
    reflections?: string[];
}
/**
 * Computer Use data structure, can be used for recording and sharing
 */
interface ComputerUseUserData {
    version: ShareVersion;
    /** Share operation instructions */
    instruction: string;
    systemPrompt: string;
    modelName: string;
    mode: VlmModeEnum;
    logTime: number;
    status: StatusEnum;
    errMsg?: string;
    conversations: Conversation[];
}

export { type ComputerUseUserData, type Conversation, Message, PredictionParsed, ShareVersion, StatusEnum };
