import { SerialParser } from '../types/index.js';
export interface ReadlineOptions {
    /** Line delimiter. Defaults to `'\n'`. Accepts a string, Uint8Array, or number[]. */
    delimiter?: string | Uint8Array | number[];
    /** Include the delimiter at the end of each emitted string. Defaults to false. */
    includeDelimiter?: boolean;
    /** Text encoding used to decode bytes. Defaults to `'utf-8'`. */
    encoding?: string;
}
/**
 * Creates a readline parser that splits the byte stream on a newline (or
 * custom delimiter) and emits each line as a decoded string.
 *
 * @param options - Optional configuration.
 * @returns A {@link SerialParser} that emits `string` values.
 *
 * @example
 * ```ts
 * import { AbstractSerialDevice, readline } from 'webserial-core';
 *
 * class MyDevice extends AbstractSerialDevice<string> {
 *   constructor() {
 *     super({ baudRate: 9600, parser: readline() });
 *   }
 * }
 * ```
 */
export declare function readline(options?: ReadlineOptions): SerialParser<string>;
