import Token from '../parser/token';
import ITemplate from '../template/itemplate';
declare type ParseToken = ((token: Token, remainTokens: Array<Token>) => ITemplate);
export default class ParseStream {
    private tokens;
    private handlers;
    private stopRequested;
    private parseToken;
    constructor(tokens: Array<Token>, parseToken: ParseToken);
    on<T extends ITemplate | Token | undefined>(name: string, cb: (arg: T) => void): ParseStream;
    private trigger;
    start(): this;
    stop(): this;
}
export {};
