/**
 * Resolve line-display mode for file-like outputs (read, grep, @file mentions).
 */
export interface FileDisplayMode {
    lineNumbers: boolean;
    hashLines: boolean;
}
/** Session-like object providing settings and tool availability for display mode resolution. */
export interface FileDisplayModeSession {
    /** Whether the edit tool is available. Hashlines are suppressed without it. */
    hasEditTool?: boolean;
    settings: {
        get(key: "readLineNumbers" | "edit.mode"): unknown;
    };
}
/**
 * Computes effective line display mode from session settings/env.
 * Hashline mode takes precedence and implies line-addressed output everywhere.
 * Hashlines are suppressed when the edit tool is not available (e.g. explore agents),
 * when the caller signals a `raw` read, and when the source is `immutable`
 * (e.g. internal URLs like artifact://, agent://, memory:// — there is no edit
 * path that could consume the anchors). Raw output is returned as-is.
 */
export declare function resolveFileDisplayMode(session: FileDisplayModeSession, options?: {
    raw?: boolean;
    immutable?: boolean;
}): FileDisplayMode;
