import type { MessageVersion } from "./encoding.ts";
export type Frame = {
    type: "cesr";
    code: string;
    text: string;
    count?: number;
    index?: number;
    ondex?: number;
    raw: Uint8Array;
} | {
    type: "message";
    version: MessageVersion;
    text: string;
};
export interface ParserOptions {
    version?: number;
}
/**
 * Parses CESR frames from an incoming stream of bytes.
 *
 * @param input Incoming stream of bytes
 * @returns An iterable of CESR frames
 */
export declare function parseSync(input: Uint8Array | string, options?: ParserOptions): IterableIterator<Frame>;
/**
 * Parses CESR frames from an incoming stream of bytes.
 *
 * @param input Incoming stream of bytes
 * @returns An async iterable of CESR frames
 */
export declare function parse(input: ParserInput, options: ParserOptions): AsyncIterableIterator<Frame>;
export type ParserInput = Uint8Array | string | AsyncIterable<Uint8Array>;
