/**
 * Rendering helpers for slash command output (/session, /changelog, /hotkeys, /skills).
 *
 * Pure functions that produce TUI Components or formatted text strings
 * from view model data. No side effects — all output is returned to the caller.
 */
import type { Component, MarkdownTheme } from '../../tui/index.js';
import type { KeybindingsManager } from '../keybindings.js';
export interface SessionStatsViewModel {
    sessionName?: string;
    sessionFile: string | null;
    sessionId: string;
    userMessages: number;
    assistantMessages: number;
    toolCalls: number;
    toolResults: number;
    totalMessages: number;
    tokens: {
        input: number;
        output: number;
        cacheRead: number;
        cacheWrite: number;
        total: number;
    };
    cost: number;
    creditBalance?: {
        isUnlimited: boolean;
        creditsUsed: number;
    } | null;
    usesCredits: boolean;
}
export interface LoadedSkillViewModel {
    name: string;
    description?: string;
    filePath: string;
    baseDir: string;
}
export interface LoadedSkillGroup {
    paths: string[];
    packages: Map<string, string[]>;
}
/** Build the /session command output — messages, tokens, cost/credits. */
export declare function buildSessionInfoText(stats: SessionStatsViewModel): string;
/** Build TUI components for the /changelog command. */
export declare function buildChangelogComponents(changelogMarkdown: string, markdownTheme: MarkdownTheme): Component[];
/** Build the /hotkeys command output as a Markdown string with keybinding tables. */
export declare function buildHotkeysMarkdown(keybindings: KeybindingsManager, platform?: NodeJS.Platform): string;
/** Build TUI components for the /hotkeys command. */
export declare function buildHotkeysComponents(keybindings: KeybindingsManager, markdownTheme: MarkdownTheme, platform?: NodeJS.Platform): Component[];
/** Format the skills list as a grouped text string for the /skills command. */
export declare function buildSkillsText(skills: LoadedSkillViewModel[], groups: LoadedSkillGroup[], formatDisplayPath: (displayPath: string) => string): string;
/** Build TUI components for the /skills command. */
export declare function buildSkillsComponents(skillsText: string | null): Component[];
//# sourceMappingURL=slash-command-rendering.d.ts.map