import type { NotebookMemoryUsage } from "../code-mode/types.ts"; import type { NotebookKernelStatus, NotebookReleaseResult } from "./lifecycle-runtime.ts"; import type { RetainedProjectBinding } from "./project-state-metadata.ts"; export declare const NOTEBOOK_DETAILS_BUDGET: number; export interface NotebookStatusDetails extends Record { state: "idle" | "running"; activeCell?: string | undefined; userBindings?: number | undefined; userCells: number; startedAt?: string | undefined; memory?: NotebookKernelStatus["memory"] | NotebookMemoryUsage | undefined; checkpoint: Record; query?: string | undefined; matches?: Array | undefined; omittedMatches?: number | undefined; retainedBindings: number; retainedBytes: number; pinnedBindings: number; pinned: RetainedProjectBinding[]; omittedPinned: number; largestUnpinned: RetainedProjectBinding[]; omittedLargestUnpinned: number; } export declare function withinNameBudget(names: string[]): string[]; export declare function formatNameList(names: string[]): string; export declare function takeDetailValues(values: T[], budget: { remaining: number; }): T[]; export declare function remainingDetailsBudget(base: unknown): { remaining: number; }; export declare function boundedReleaseDetails(result: NotebookReleaseResult, protectedNames: string[], restarted: boolean, checkpoint: Record): Record; export declare function formatStatus(details: NotebookStatusDetails): string; export declare function formatRelease(result: NotebookReleaseResult, restarted: boolean): string;