import type { TerminalRenderPlane, TerminalRenderPlanes } from "../core/render-plane.js"; type NowFn = () => number; type TuiProfilerFileWriter = Readonly<{ appendFileSync?: (path: string, data: string) => void; }>; export type CreateTuiProfilerOptions = Readonly<{ fileWriter?: TuiProfilerFileWriter; defaultLogDest?: "stdout" | "file" | "both"; defaultLogPath?: string; }>; export declare function setTuiProfilerFileWriter(writer: TuiProfilerFileWriter | null): void; export type TuiProfiler = Readonly<{ now: NowFn; recordInvalidate: (info?: { plane?: TerminalRenderPlane | null; }) => void; recordRender: (info: { durationMs: number; rows: number; nodes: number; fullRepaint: boolean; sorted: boolean; activePlanes?: TerminalRenderPlanes | null; }) => void; recordWrite: (info: { durationMs: number; bytes: number; mode: "stream" | "sync" | "chunked"; }) => void; dispose: () => void; }>; export declare function createTuiProfiler(name: string, options?: CreateTuiProfilerOptions): TuiProfiler | null; export {};