/**
 * Input Tokenizer - Escape sequence boundary detection
 *
 * Splits terminal input into tokens: text chunks and raw escape sequences.
 * Unlike the Parser which interprets sequences semantically, this just
 * identifies boundaries for use by keyboard input parsing.
 */
export type Token = {
    type: 'text';
    value: string;
} | {
    type: 'sequence';
    value: string;
};
export type Tokenizer = {
    /** Feed input and get resulting tokens */
    feed(input: string): Token[];
    /** Flush any buffered incomplete sequences */
    flush(): Token[];
    /** Reset tokenizer state */
    reset(): void;
    /** Get any buffered incomplete sequence */
    buffer(): string;
};
type TokenizerOptions = {
    /**
     * Treat `CSI M` as an X10 mouse event prefix and consume 3 payload bytes.
     * Only enable for stdin input — `\x1b[M` is also CSI DL (Delete Lines) in
     * output streams, and enabling this there swallows display text. Default false.
     */
    x10Mouse?: boolean;
};
/**
 * Create a streaming tokenizer for terminal input.
 *
 * Usage:
 * ```typescript
 * const tokenizer = createTokenizer()
 * const tokens1 = tokenizer.feed('hello\x1b[')
 * const tokens2 = tokenizer.feed('A')  // completes the escape sequence
 * const remaining = tokenizer.flush()  // force output incomplete sequences
 * ```
 */
export declare function createTokenizer(options?: TokenizerOptions): Tokenizer;
export {};
