import type { ConfigStore } from '../../../config/store.ts'; import { type RegisteredTool } from '../../server.ts'; import { type AttachState } from './attach.ts'; import { type CaptureStore } from './capture.ts'; import { type LiveShareRef } from './live-view.ts'; export declare function sessionTools(attachRef: { current?: AttachState; config: ConfigStore; }, captures: CaptureStore, liveShare: LiveShareRef): RegisteredTool[]; /** * Release everything a session holds: the public tunnel, the captures, and the * browser itself. * * Exported because a session can end WITHOUT anyone calling `dispose_browser` — * the developer closes their agent, the client kills the server, the transport * drops. Nothing runs on its own then, so `start.ts` runs this. Without it a * container keeps running and, worse, a public URL to a live browser outlives * the session that created it. */ export declare function resetAll(attachRef: { current?: AttachState; config: ConfigStore; }, captures: CaptureStore, liveShare: LiveShareRef): Promise;