/**
 * ANSI-aware text measurement and slicing.
 *
 * Uses native Rust implementation when available, with pure-JS fallbacks
 * for platforms without the native addon.
 */
import type { ExtractSegmentsResult, SliceResult } from "./types.js";
export type { ExtractSegmentsResult, SliceResult };
export { EllipsisKind } from "./types.js";
export declare function wrapTextWithAnsi(text: string, width: number, tabWidth?: number): string[];
export declare function truncateToWidth(text: string, maxWidth: number, ellipsisKind: number, pad: boolean, tabWidth?: number): string;
export declare function sliceWithWidth(line: string, startCol: number, length: number, strict: boolean, tabWidth?: number): SliceResult;
export declare function extractSegments(line: string, beforeEnd: number, afterStart: number, afterLen: number, strictAfter: boolean, tabWidth?: number): ExtractSegmentsResult;
export declare function sanitizeText(text: string): string;
export declare function visibleWidth(text: string, tabWidth?: number): number;
