///
import { ControlToken, GroupEndToken, GroupStartToken, TextToken, Token, TokenType } from '../tokenize';
export declare type ControlHandler = (global: G, token: ControlToken) => void | true;
export declare type ControlHandlers = {
[token: string]: ControlHandler;
};
export declare type TokenHandler = (global: G, token: T) => void | true;
export declare type TokenHandlers = {
[TokenType.GROUP_START]?: TokenHandler;
[TokenType.GROUP_END]?: TokenHandler;
[TokenType.CONTROL]?: TokenHandler;
[TokenType.TEXT]?: TokenHandler;
};
export declare type TextHandler = (global: G, data: Buffer | string) => void | true;
export interface FeatureHandler {
allTokenHandler?: TokenHandler;
tokenHandlers?: TokenHandlers;
controlHandlers?: ControlHandlers;
outputDataFilter?: TextHandler;
preStreamFlushHandler?: (global: G) => void;
}
export interface WarnOption {
_options: {
warn: (msg: string) => void;
};
}