import { type Observable } from 'rxjs'; import type { LogLevel, Minifier, MinifyLevel } from '../../../_exports/index.js'; import { type DeployEvent, type ReplSession } from '../session.js'; import type { ReplHandle } from './replStateMachine.js'; export type DevStatus = { type: 'building'; } | { type: 'rebuilding'; } | { type: 'checking'; command: string; } | { type: 'deploying'; event: DeployEvent; } | { type: 'watching'; } | { type: 'error'; message: string; }; export interface DevSessionState { status: DevStatus; } export interface DevSessionHandle { state$: Observable; close(): void; } export declare function createDevSession(options: { session: ReplSession; entry: string; forceDeploy: boolean; minify: boolean; bytecode: boolean; watch: boolean; /** Skip package.json `mikro.predeploy` hooks. */ noHooks?: boolean; /** REPL handle for the Ink-mode UI. Omit in agent mode. When present, the * dev session drives the status line, disables the prompt during deploy, * and subscribes to `repl.deploys$` for Ctrl+S triggers. */ repl?: ReplHandle; /** Extra deploy trigger source (e.g. an agent-mode stdin 'deploy' command). * Merged with `repl?.deploys$` if both are present. */ externalDeploys$?: Observable<{ force: boolean; }>; minifier?: Minifier; minifyLevel?: MinifyLevel; logLevel?: LogLevel; envFile?: string; noAutoEnv?: boolean; /** Drives `MIKRO_ENV` and the `.env.` file picked up by * `loadEnvFiles`. `mikro dev` passes `'development'` (default); * `mikro sim dev` passes `'simulator'`. */ mode?: string; }): DevSessionHandle; //# sourceMappingURL=devSession.d.ts.map