import type { ApiRoutesWorkerParams, ApiRoutesWorkerResponse } from '../types/plugins/api-routes.js';
import type { RenderPayload } from '../../types/ssr.js';
import type { ScorecardsWorkerParams, ScorecardsWorkerResponse } from '../types/plugins/scorecards.js';
import type { McpToolExecutionParams, McpToolWorkerResponse } from '../plugins/mcp/types.js';
import type { SCORECARDS_WORKER_KEY } from './scorecards-worker-pool.js';
import type { API_ROUTES_WORKER_KEY } from './api-routes-worker-pool.js';
import type { SSR_WORKER_KEY } from './ssr-worker-pool.js';
import type { MCP_TOOL_IS_AVAILABLE_KEY, MCP_TOOL_WORKER_KEY } from './mcp-tool-worker-pool.js';
export type SsrWorkerResponse = {
    html: string;
    statusCode: 200 | 500;
    error?: Error;
};
export type WorkerTypeMapping = {
    [API_ROUTES_WORKER_KEY]: {
        params: [ApiRoutesWorkerParams];
        response: ApiRoutesWorkerResponse;
    };
    [SSR_WORKER_KEY]: {
        params: [RenderPayload];
        response: SsrWorkerResponse;
    };
    [SCORECARDS_WORKER_KEY]: {
        params: [ScorecardsWorkerParams];
        response: ScorecardsWorkerResponse;
    };
    [MCP_TOOL_WORKER_KEY]: {
        params: [McpToolExecutionParams];
        response: McpToolWorkerResponse;
    };
    [MCP_TOOL_IS_AVAILABLE_KEY]: {
        params: [Omit<McpToolExecutionParams, 'args' | 'extra'>];
        response: boolean;
    };
};
export type WorkerParams<T extends keyof WorkerTypeMapping> = WorkerTypeMapping[T]['params'];
export type WorkerResponse<T extends keyof WorkerTypeMapping> = WorkerTypeMapping[T]['response'];
//# sourceMappingURL=types.d.ts.map