import { Sandbox } from '@squiz/runtime-sandbox-common';
import { Logger } from '@squiz/dx-logger-lib';
import { ExecuteComponentTask, ExecuteJobTask } from './ExecuteComponentTask';
import { FunctionReturnTypes } from './FunctionReturnTypes';
import { ComponentLogger } from '@squiz/component-logger-lib';
export interface ComponentRunnerService {
    executeComponentFunction(task: ExecuteComponentTask): Promise<FunctionReturnTypes>;
    executeJobFunction(task: ExecuteJobTask): Promise<FunctionReturnTypes>;
    stop(): Promise<void>;
}
export declare const WORKER_TIMEOUT_ERROR_MESSAGE = "could not complete with in the allotted time";
export declare class ComponentRunnerServiceWithWorkers implements ComponentRunnerService {
    private sandbox;
    private logger;
    private componentLogger;
    constructor(sandbox: Sandbox, logger: Logger, componentLogger: ComponentLogger);
    executeComponentFunction(task: ExecuteComponentTask): Promise<FunctionReturnTypes>;
    executeJobFunction(task: ExecuteJobTask): Promise<FunctionReturnTypes>;
    stop(): Promise<void>;
    healthCheck(): Promise<Record<string, unknown>>;
}
