export interface McpRequest {
    id: string | number | null;
    method: string;
    params: any;
}
export interface McpResponse {
    id: string | number | null;
    result?: any;
    error?: McpErrorData;
}
export interface McpError {
    id: string | number | null;
    error: McpErrorData;
}
export interface McpErrorData {
    code: number;
    message: string;
    data?: any;
}
export interface Session {
    id: string;
    type: SessionType;
    language?: string;
    status: SessionStatus;
    containerId?: string;
    endpoints: SessionEndpoints;
    memory: string;
    createdAt: Date;
    lastAccessedAt: Date;
    clientId: string;
}
export type SessionType = 'execution' | 'vscode' | 'playwright';
export type SessionStatus = 'creating' | 'running' | 'stopped' | 'error';
export interface SessionEndpoints {
    main?: string;
    websocket?: string;
    vnc?: string;
}
export interface CreateSessionParams {
    type: SessionType;
    language?: string;
    memory?: string;
    clientId: string;
    template?: string;
}
export interface ExecutionResult {
    stdout: string;
    stderr: string;
    exitCode: number;
    executionTime: number;
    memoryUsage?: number;
}
export interface CodeExecutionParams {
    code: string;
    language: string;
    timeout?: number;
    stdin?: string;
}
export interface PlaywrightSessionConfig {
    browser: 'chromium' | 'firefox' | 'webkit';
    headless: boolean;
    viewport?: {
        width: number;
        height: number;
    };
}
export interface ContainerConfig {
    image: string;
    memory: string;
    cpus: string;
    ports: Record<string, number>;
    environment: Record<string, string>;
    volumes: string[];
    networkMode?: string;
}
export interface LanguageConfig {
    name: string;
    version: string;
    dockerfile: string;
    executeCommand: string;
    fileExtension: string;
    packages?: string[];
}
export declare const SUPPORTED_LANGUAGES: Record<string, LanguageConfig>;
//# sourceMappingURL=McpTypes.d.ts.map