import { type Component } from "@earendil-works/pi-tui";
import type { ChatTranscriptEntryLike } from "./chat-transcript.ts";
import type { ChatSessionHostState } from "./chat-session-host-state.ts";
import type { ChatSessionHostEntry } from "./chat-session-host-types.ts";
export declare function renderChatSessionBody<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, width: number, budget: number): string[];
export declare function renderChatSessionPendingMessages<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, width: number): string[];
export declare function renderChatSessionWorkingStatus<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, width: number): string[];
export declare function renderChatSessionUsage<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, width: number): string[];
export declare function renderChatSessionEditor<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, width: number, focused: boolean): string[];
export declare function renderChatSessionFooter<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, width: number): string[];
export declare function renderChatSessionEntry<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, entry: ChatSessionHostEntry<TExtraEntry>): Component;
export declare function transcriptCacheKey<TExtraEntry extends ChatTranscriptEntryLike>(state: ChatSessionHostState<TExtraEntry>, entry: ChatSessionHostEntry<TExtraEntry>, index: number): string;
//# sourceMappingURL=chat-session-host-rendering.d.ts.map