/**
 * OwlCoda TUI Welcome Banner
 *
 * Compact first-screen identity block. Adapts to terminal width and keeps
 * live project/session truth visible without turning the transcript into a
 * large framed splash screen.
 *
 * Features theme-aware coloring: the owl art picks up the active
 * brand color for eyes and accent lines.
 */
/** Render the full first-run onboarding hero. Public so callers can opt
 *  in explicitly when they want the long form (e.g. `/help` could reuse
 *  it later without going through the renderWelcome routing). */
export declare function renderOnboardingHero(opts: WelcomeOptions): string;
export type LogoFrame = 'dot-left' | 'dot-left-mid' | 'dot-mid' | 'dot-right-mid' | 'dot-right';
export declare const WELCOME_TITLE_ICON_PATH: string;
export interface WelcomeTitleIconPlacement {
    path: string;
    rowOffset: number;
    colOffset: number;
    cols: number;
    rows: number;
}
export interface WelcomeMarkerOptions {
    cwd: string;
    branch?: string | null;
    pendingChanges?: number | null;
}
export declare function supportsTerminalImages(env?: NodeJS.ProcessEnv): boolean;
export declare function hasTitleIconAsset(path?: string): boolean;
export type LayoutMode = 'horizontal' | 'compact';
export interface WelcomeOptions {
    version: string;
    model: string;
    mode: string;
    sessionId: string;
    cwd: string;
    /** User display name (optional). */
    username?: string;
    /** True on the very first launch (no prior sessions). Affects greeting copy. */
    isFirstRun?: boolean;
    /** Recent sessions for the feed column. */
    recentSessions?: Array<{
        id: string;
        title?: string;
        turns: number;
        date: string;
    }>;
    /** Tips to show in the right column. */
    tips?: string[];
    /** Terminal width override (default: process.stdout.columns). */
    columns?: number;
    /** Optional welcome-mark frame, used for the idle dot animation. */
    logoFrame?: LogoFrame;
}
/**
 * Render the compact welcome block.
 */
export declare function renderWelcome(opts: WelcomeOptions): string;
export declare function getWelcomeTitleIconPlacement(opts: WelcomeOptions): WelcomeTitleIconPlacement;
export declare function readWelcomeMarkerOptions(cwd?: string): WelcomeMarkerOptions;
export declare function formatWelcomeMarker(opts: WelcomeMarkerOptions): string;
