import { z } from "zod";
export declare const LogSchema: z.ZodObject<{
    timestamp: z.ZodString;
    level: z.ZodString;
    message: z.ZodString;
}, "strip", z.ZodTypeAny, {
    timestamp: string;
    level: string;
    message: string;
}, {
    timestamp: string;
    level: string;
    message: string;
}>;
export declare const RunCodeOptionsSchema: z.ZodObject<{
    language: z.ZodOptional<z.ZodString>;
    comment: z.ZodOptional<z.ZodString>;
    settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    language?: string | undefined;
    comment?: string | undefined;
    settings?: Record<string, unknown> | undefined;
}, {
    language?: string | undefined;
    comment?: string | undefined;
    settings?: Record<string, unknown> | undefined;
}>;
export declare const buildRunCodeSchema: (envVars: string[]) => z.ZodObject<{
    code: z.ZodString;
    options: z.ZodObject<{
        language: z.ZodOptional<z.ZodString>;
        comment: z.ZodOptional<z.ZodString>;
        settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strip", z.ZodTypeAny, {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    }, {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    code: string;
    options: {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    };
}, {
    code: string;
    options: {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    };
}>;
export declare const RunCodeSchema: z.ZodObject<{
    code: z.ZodString;
    options: z.ZodObject<{
        language: z.ZodOptional<z.ZodString>;
        comment: z.ZodOptional<z.ZodString>;
        settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strip", z.ZodTypeAny, {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    }, {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    code: string;
    options: {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    };
}, {
    code: string;
    options: {
        language?: string | undefined;
        comment?: string | undefined;
        settings?: Record<string, unknown> | undefined;
    };
}>;
export type RunCodeRequestSchema = z.infer<typeof RunCodeSchema>;
export interface RunCodeResultSchema {
    returnValue?: unknown;
    logs: Array<typeof LogSchema>;
    error?: string;
}
export declare const EnvVarKeySchema: z.ZodString;
export declare const SetEnvVarSchema: z.ZodObject<{
    key: z.ZodString;
    value: z.ZodString;
    isSensitive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    value: string;
    key: string;
    isSensitive: boolean;
}, {
    value: string;
    key: string;
    isSensitive?: boolean | undefined;
}>;
export declare const RemoveEnvVarSchema: z.ZodObject<{
    key: z.ZodString;
}, "strip", z.ZodTypeAny, {
    key: string;
}, {
    key: string;
}>;
export type SetEnvVarRequestSchema = z.infer<typeof SetEnvVarSchema>;
export type RemoveEnvVarRequestSchema = z.infer<typeof RemoveEnvVarSchema>;
export interface EnvVarResultSchema {
    error?: string;
}
export declare const RunProcessSchema: z.ZodObject<{
    parameters: z.ZodOptional<z.ZodAny>;
    options: z.ZodOptional<z.ZodObject<{
        tag: z.ZodOptional<z.ZodString>;
        comment: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        comment?: string | undefined;
        tag?: string | undefined;
    }, {
        comment?: string | undefined;
        tag?: string | undefined;
    }>>;
    synchronousExecution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    synchronousExecution: boolean;
    options?: {
        comment?: string | undefined;
        tag?: string | undefined;
    } | undefined;
    parameters?: any;
}, {
    options?: {
        comment?: string | undefined;
        tag?: string | undefined;
    } | undefined;
    parameters?: any;
    synchronousExecution?: boolean | undefined;
}>;
export declare const GetExecutionSchema: z.ZodObject<{
    executionId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    executionId: string;
}, {
    executionId: string;
}>;
export declare const ExecutionResultSchema: z.ZodObject<{
    executionId: z.ZodString;
    logs: z.ZodArray<z.ZodObject<{
        timestamp: z.ZodString;
        level: z.ZodString;
        message: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        timestamp: string;
        level: string;
        message: string;
    }, {
        timestamp: string;
        level: string;
        message: string;
    }>, "many">;
    processId: z.ZodString;
    status: z.ZodString;
    timeline: z.ZodArray<z.ZodAny, "many">;
    returnValue: z.ZodOptional<z.ZodAny>;
    error: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    status: string;
    executionId: string;
    logs: {
        timestamp: string;
        level: string;
        message: string;
    }[];
    processId: string;
    timeline: any[];
    error?: string | undefined;
    returnValue?: any;
}, {
    status: string;
    executionId: string;
    logs: {
        timestamp: string;
        level: string;
        message: string;
    }[];
    processId: string;
    timeline: any[];
    error?: string | undefined;
    returnValue?: any;
}>;
export type ExecutionResultSchema = z.infer<typeof ExecutionResultSchema>;
export interface MCPRequest<T = unknown> {
    params: {
        name: string;
        arguments: T;
    };
}
export interface MCPResponse {
    content: Array<{
        type: string;
        text: string;
    }>;
}
export interface ToolCallRequest {
    params: {
        name: string;
        arguments?: Record<string, unknown>;
        _meta?: Record<string, unknown>;
    };
    method: "tools/call";
}
export type ToolHandler<T> = (data: T) => Promise<unknown>;
