import { OperationTypes } from './operators'; export declare enum TokenTypes { Identifier = 0, Keyword = 1, Separator = 2, Operator = 3, LiteralNumber = 4, LiteralBool = 5, LiteralString = 6, LiteralNull = 7, Comment = 8 } /** * Token represent a single considered token in a script. Is represented as an array, where element at: * 0 : value * 1 : token details. For a memory and performance reasons we use Uint16Array with 5 elements in it: * [ * 0 - tokenType number equivalent of @TokenTypes * 1 - beginLine * 2 - beginColumn * 3 - endLine * 4 - endColumn * ] * [(value). Uint16Array[5]([tokenType, beginLine, beginColumn, endLine, endColumn])] * tokenType */ export type Token = [string | number | boolean | null, Uint16Array]; export type TokenValue = string | number | boolean | null; export declare function isTokenTypeLiteral(tokenType: TokenTypes): boolean; export declare function getTokenType(token: Token): TokenTypes; export declare function getTokenValue(token: Token | null): TokenValue; export declare function getTokenLoc(token: Token): Uint16Array; export declare function getStartLine(token: Token): number; export declare function getStartColumn(token: Token): number; export declare function getEndLine(token: Token): number; export declare function getEndColumn(token: Token): number; export declare function splitTokensByIndexes(tokens: Token[], sepIndexes: number[]): Token[][]; export declare function splitTokens(tokens: Token[], separator: string): Token[][]; export declare function findTokenValueIndex(tokens: Token[], predicate: (value: TokenValue) => boolean, start?: number): number; export declare function findChainingCallTokensIndexes(tokens: Token[]): number[]; export declare function findTokenValueIndexes(tokens: Token[], predicate: (value: TokenValue) => boolean): number[]; export declare function findOperators(tokens: Token[], operationType?: OperationTypes | null): number[]; //# sourceMappingURL=token-types.d.ts.map