import { type CellSnapshot, type WorkbookSnapshot } from '@bilig/protocol';
import type { EngineRuntimeState } from './runtime-state.js';
import type { EngineServiceRuntime } from './service-runtime-types.js';
import type { EngineFormulaBindingRuntimeConfig, EngineFormulaGraphRuntimeConfig, EngineMaintenanceRuntimeConfig, EngineMutationSupportRuntimeConfig, EngineOperationRuntimeConfig, EnginePivotRuntimeConfig, EngineRecalcRuntimeConfig, EngineTraversalRuntimeConfig } from './live-service-config-types.js';
export { runEngineEffect, runEngineEffectPromise } from './live-effect.js';
export type { EngineServiceRuntime } from './service-runtime-types.js';
export declare function createEngineServiceRuntime(args: {
    readonly state: EngineRuntimeState;
    readonly getCellByIndex: (cellIndex: number) => CellSnapshot;
    readonly exportSnapshot: () => WorkbookSnapshot;
    readonly importSnapshot: (snapshot: WorkbookSnapshot) => void;
    readonly maintenance: EngineMaintenanceRuntimeConfig;
    readonly mutationSupport: EngineMutationSupportRuntimeConfig;
    readonly formulaBinding: EngineFormulaBindingRuntimeConfig;
    readonly formulaGraph: EngineFormulaGraphRuntimeConfig;
    readonly recalc: EngineRecalcRuntimeConfig;
    readonly pivot: EnginePivotRuntimeConfig;
    readonly operation: EngineOperationRuntimeConfig;
    readonly traversal: EngineTraversalRuntimeConfig;
    readonly cellToCsvValue: (cell: CellSnapshot) => string;
    readonly serializeCsv: (rows: string[][]) => string;
    readonly pivotState: {
        readonly pivotOutputOwners: Map<number, string>;
    };
    readonly applyRemoteSnapshot: (snapshot: WorkbookSnapshot) => void;
}): EngineServiceRuntime;
