import type { BackendType, SessionProbe } from '../adapters/backend/types.js';
import type { DaemonSession } from './types.js';
export type PersistentBackendType = Exclude<BackendType, 'pty'>;
export declare function isSuspendableBackendType(backendType: BackendType | undefined): backendType is PersistentBackendType;
/**
 * Resolve which persistent backend (if any) backs a session: prefer the
 * worker's stored init config — the per-session truth captured at spawn time,
 * which survives idle-suspend and tracks bot-config drift — then the bot
 * config, then the daemon default (covers lazy-restored sessions that never
 * forked a worker, where initConfig is unset).
 */
export declare function getSessionPersistentBackendType(ds: DaemonSession): PersistentBackendType | undefined;
/** Deterministic backing-session name (`bmx-<sid8>`, same rule across backends). */
export declare function persistentSessionName(backendType: PersistentBackendType, sessionId: string): string;
export declare function probePersistentSession(backendType: PersistentBackendType, name: string): SessionProbe;
/** Kill a backing session (each backend's killSession is a no-op when absent). */
export declare function killPersistentSession(backendType: PersistentBackendType, name: string): void;
//# sourceMappingURL=persistent-backend.d.ts.map