import { IterableStream } from './iterable-stream';
import { Token, TokenType } from './tokenizer';
export declare class FactoryException<T> extends Error {
    stream: IterableStream<T>;
    constructor(stream: IterableStream<T>, text: string);
}
export declare class FactoryCharacterException extends FactoryException<string> {
    constructor(stream: IterableStream<string>, error: string);
}
export declare class FactoryTokenException extends FactoryException<Token> {
    constructor(stream: IterableStream<Token>, type: Token | string, expected?: TokenType);
}
export declare class FactorySyntaxException extends FactoryTokenException {
    constructor(stream: IterableStream<Token>, error: string);
}
export declare class FactoryMismatchException extends FactoryTokenException {
    constructor(stream: IterableStream<Token>, error: string);
}
