import type { RuntimeCommandRunResponse } from "../core/api-contract.js";
import type { RuntimeConfigState } from "../config/runtime-config.js";
import type { TerminalSessionManager } from "../terminal/session-manager.js";
import type { RuntimeTrpcContext, RuntimeTrpcWorkspaceScope } from "./app-router.js";
export interface CreateRuntimeApiDependencies {
    getActiveWorkspaceId: () => string | null;
    loadScopedRuntimeConfig: (scope: RuntimeTrpcWorkspaceScope) => Promise<RuntimeConfigState>;
    setActiveRuntimeConfig: (config: RuntimeConfigState) => void;
    getScopedTerminalManager: (scope: RuntimeTrpcWorkspaceScope) => Promise<TerminalSessionManager>;
    resolveInteractiveShellCommand: () => {
        binary: string;
        args: string[];
    };
    runCommand: (command: string, cwd: string) => Promise<RuntimeCommandRunResponse>;
}
export declare function createRuntimeApi(deps: CreateRuntimeApiDependencies): RuntimeTrpcContext["runtimeApi"];
//# sourceMappingURL=runtime-api.d.ts.map