export interface Osc8Link { row: number; start: number; end: number; params: string; uri: string; } export declare const selectedOsc8: () => Osc8Link | null; export declare const setSelectedOsc8: (link: Osc8Link | null) => void; export declare const resetOsc8: () => void; /** Extracts complete OSC 8 open/text/close pairs from materialized lines. */ export declare function osc8Links(lines: string[], param?: string): Osc8Link[]; /** Selects the Nth OSC 8 link in either direction, wrapping once. */ /** True while the selected link's row is displayed, less's onscreen(). */ export declare function osc8Visible(lines: string[]): boolean; /** less's osc8_search (search.c:2005): continue from an on-screen * selection (same line first — link order covers it); an off-screen * or absent selection starts at the -j line like search_pos; no * wrap — a miss errors and KEEPS the old selection. */ export declare function searchOsc8(lines: string[], direction: 1 | -1, count?: number): boolean; /** Positions the selected link's line at the top of the display. */ export declare function jumpOsc8(lines: string[]): boolean; /** Builds the exact handler command selected by LESS_OSC8_OPEN_*. */ export declare function osc8CommandForUri(uri: string): { command: string; done: string | null; } | null; /** * True when the selected link points INSIDE the file: less treats a URI * with no scheme that starts with "#" as a link to an "id=" anchor * and searches for it forward with wrap, running no handler at all * (search.c:1942). */ export declare function osc8Internal(): string | null; /** Selects the anchor an internal link names, wrapping like less. */ export declare function osc8SearchParam(lines: string[], param: string): boolean; export declare function osc8OpenCommand(): { command: string; done: string | null; } | null;