import type { DataService } from 'mongodb-data-service';
import { WorkerRuntime } from './worker-runtime';
import type AppRegistry from 'hadron-app-registry';
import type { RootAction } from '.';
export declare const SETUP_RUNTIME: "shell/runtime/SETUP_RUNTIME";
type SetupRuntimeAction = {
    type: typeof SETUP_RUNTIME;
    error: Error | null;
    dataService: DataService | null;
    appRegistry: AppRegistry | null;
};
export declare const CHANGE_ENABLE_SHELL: "shell/runtime/CHANGE_ENABLE_SHELL";
type ChangeEnableShellAction = {
    type: typeof CHANGE_ENABLE_SHELL;
    enableShell: boolean;
};
export type RuntimeAction = SetupRuntimeAction | ChangeEnableShellAction;
export declare const INITIAL_STATE: RuntimeState;
export interface RuntimeState {
    error: null | Error;
    dataService: null | DataService;
    runtime: null | typeof WorkerRuntime['prototype'];
    appRegistry: null | AppRegistry;
    enableShell: boolean;
}
export default function reducer(state: RuntimeState | undefined, action: RootAction): RuntimeState;
export declare const setupRuntime: (error: Error | null, dataService: DataService | null, appRegistry: AppRegistry | null) => {
    type: "shell/runtime/SETUP_RUNTIME";
    error: Error | null;
    dataService: DataService | null;
    appRegistry: AppRegistry | null;
};
export declare const changeEnableShell: (enableShell: boolean) => ChangeEnableShellAction;
export {};
//# sourceMappingURL=runtime.d.ts.map