/**
 * Removes ANSI escape codes from a string.
 *
 * The implementation is a single linear pass over the input (O(n)) — it never
 * relies on a backtracking regular expression, so it is safe to run on
 * untrusted subprocess/log output without risking polynomial ReDoS on
 * adversarial input (e.g. many unterminated `ESC ]` prefixes).
 *
 * Recognised sequences: CSI (`ESC [ ... final`, final byte `0x40`-`0x7e`),
 * OSC (`ESC ] ... BEL` or terminated by ST, covering window titles and
 * hyperlinks), string sequences DCS/SOS/PM/APC (`ESC P|X|^|_ ... ST`), and
 * two-character escapes (`ESC` plus a single byte, e.g. `ESC 7`, `ESC c`).
 * The 8-bit C1 single-byte introducers (`0x9b` CSI, `0x9d` OSC, `0x90` DCS,
 * `0x98` SOS, `0x9e` PM, `0x9f` APC) are recognised as equivalents of their
 * `ESC`-prefixed forms.
 * @param input The string from which to remove ANSI escape codes.
 * @returns The input string with all ANSI escape codes stripped.
 * @example
 * ```typescript
 * import { strip } from "@visulima/ansi";
 *
 * const textWithAnsi = "\x1b[32mHello\x1b[0m";
 * console.log(strip(textWithAnsi)); // "Hello"
 * ```
 */
declare const strip: (input: string) => string;
export { strip as default };
