import type { ApprovalGate } from '../../approvals/types.js';
import type { ExcelApprovalPayload } from '../../local/tools/execute-code/approval-payload.js';
import type { ExcelExecApprovalObservability } from '../../local/tools/execute-code/executor.js';
import { createExcelExecTool } from '../../local/tools/execute-code/tool.js';
import { createSheetExecTool } from '../../shared/tools/execute-code/mog.js';
export type { ExcelApprovalPayload };
type SheetEnginePool = import('../../new-sheet/sheet-engine.js').SheetEnginePool;
export type ExecuteCodePlatform = 'com' | 'mog';
export type ExecuteCodeFactoryOptions = {
    platform: 'com';
    httpPort?: number;
    approval?: ApprovalGate<ExcelApprovalPayload>;
    observability?: ExcelExecApprovalObservability;
} | {
    platform: 'mog';
    pool: SheetEnginePool;
};
export type ExecuteCodeTool = ReturnType<typeof createExcelExecTool> | ReturnType<typeof createSheetExecTool>;
/**
 * Single execute_code factory for all spreadsheet backends.
 * Runtime wiring chooses the platform; the model only ever sees execute_code.
 */
export declare function createExecuteCodeTool(options: ExecuteCodeFactoryOptions): ExecuteCodeTool;
//# sourceMappingURL=index.d.ts.map