///
import * as Token from 'token-types';
import { IGetToken } from 'token-types';
/**
* The DEFER token indicates that the protocol doesn't know what type of token to read from the stream next.
* Perhaps the protocol needs to consult some out-of-process datastructure, or wait for some other event to occur.
* To support this case, the protocol callback is actually invoked with 2 arguments: the value and a defer callback.
* It is this second parameter, a callback, that must be invoked with the desired token type once the protocol layer has figured this out.
* Note that between the time DEFER is returned and the callback is invoked, strtok.parse() is buffering all data received from the stream.
*/
export declare const DEFER: {};
/**
* Indicates that the protocol parsing loop has come to an end, and that no more data need be read off of the stream
* This causes strtok.parse() to disengage from the stream.
*/
export declare const DONE: {};
export declare type IFlush = (b: Buffer, o: number) => void;
/**
* 8-bit unsigned integer
*/
export declare const UINT8: Token.IToken;
/**
* 16-bit unsigned integer, Little Endian byte order
*/
export declare const UINT16_LE: Token.IToken;
/**
* 16-bit unsigned integer, Big Endian byte order
*/
export declare const UINT16_BE: Token.IToken;
/**
* 24-bit unsigned integer, Little Endian byte order
*/
export declare const UINT24_LE: Token.IToken;
/**
* 24-bit unsigned integer, Big Endian byte order
*/
export declare const UINT24_BE: Token.IToken;
/**
* 32-bit unsigned integer, Little Endian byte order
*/
export declare const UINT32_LE: Token.IToken;
/**
* 32-bit unsigned integer, Big Endian byte order
*/
export declare const UINT32_BE: Token.IToken;
/**
* 8-bit signed integer
*/
export declare const INT8: Token.IToken;
/**
* 16-bit signed integer, Big Endian byte order
*/
export declare const INT16_BE: Token.IToken;
/**
* 24-bit signed integer, Big Endian byte order
*/
export declare const INT24_BE: Token.IToken;
/**
* 32-bit signed integer, Big Endian byte order
*/
export declare const INT32_BE: Token.IToken;
/**
* Ignore a given number of bytes
*/
export declare const IgnoreType: typeof Token.IgnoreType;
/**
* Consume a fixed number of bytes from the stream and return a string with a specified encoding.
*/
export declare const StringType: typeof Token.StringType;
export declare const BufferType: typeof Token.BufferType;
/**
* @param stream any EventEmitter that pumps out data events
* @param cb invoked when a complete token has been read from the stream
* @return Next token to read from the stream
*/
export declare const parse: (s: any, cb?: any) => void;
export declare type AnyToken = IGetToken | {};