import { CommonError, StringUtils } from "../common"; import { ParseState } from "./parseState"; import { Token } from "../language"; export type TParseError = CommonError.CommonError | ParseError; export type TInnerParseError = ExpectedAnyTokenKindError | ExpectedClosingTokenKind | ExpectedCsvContinuationError | ExpectedGeneralizedIdentifierError | ExpectedTokenKindError | InvalidCatchFunctionError | InvalidPrimitiveTypeError | RequiredParameterAfterOptionalParameterError | UnterminatedSequence | UnusedTokensRemainError; export declare enum CsvContinuationKind { DanglingComma = "DanglingComma", LetExpression = "LetExpression" } export declare enum SequenceKind { Bracket = "Bracket", Parenthesis = "Parenthesis" } export declare class ParseError extends Error { readonly innerError: TInnerParseError; readonly state: ParseState; constructor(innerError: TInnerParseError, state: ParseState); } export declare class ExpectedCsvContinuationError extends Error { readonly kind: CsvContinuationKind; readonly foundToken: TokenWithColumnNumber | undefined; constructor(kind: CsvContinuationKind, foundToken: TokenWithColumnNumber | undefined, locale: string); } export declare class ExpectedAnyTokenKindError extends Error { readonly expectedAnyTokenKinds: ReadonlyArray; readonly foundToken: TokenWithColumnNumber | undefined; constructor(expectedAnyTokenKinds: ReadonlyArray, foundToken: TokenWithColumnNumber | undefined, locale: string); } export declare class ExpectedClosingTokenKind extends Error { readonly expectedTokenKind: Token.TokenKind; readonly foundToken: TokenWithColumnNumber | undefined; constructor(expectedTokenKind: Token.TokenKind, foundToken: TokenWithColumnNumber | undefined, locale: string); } export declare class ExpectedTokenKindError extends Error { readonly expectedTokenKind: Token.TokenKind; readonly foundToken: TokenWithColumnNumber | undefined; constructor(expectedTokenKind: Token.TokenKind, foundToken: TokenWithColumnNumber | undefined, locale: string); } export declare class ExpectedGeneralizedIdentifierError extends Error { readonly foundToken: TokenWithColumnNumber | undefined; constructor(foundToken: TokenWithColumnNumber | undefined, locale: string); } export declare class InvalidCatchFunctionError extends Error { readonly startToken: Token.Token; readonly positionStart: StringUtils.GraphemePosition; constructor(startToken: Token.Token, positionStart: StringUtils.GraphemePosition, locale: string); } export declare class InvalidPrimitiveTypeError extends Error { readonly token: Token.Token; readonly positionStart: StringUtils.GraphemePosition; constructor(token: Token.Token, positionStart: StringUtils.GraphemePosition, locale: string); } export declare class RequiredParameterAfterOptionalParameterError extends Error { readonly missingOptionalToken: Token.Token; readonly positionStart: StringUtils.GraphemePosition; constructor(missingOptionalToken: Token.Token, positionStart: StringUtils.GraphemePosition, locale: string); } export declare class UnterminatedSequence extends Error { readonly kind: SequenceKind; readonly startToken: Token.Token; readonly positionStart: StringUtils.GraphemePosition; constructor(kind: SequenceKind, startToken: Token.Token, positionStart: StringUtils.GraphemePosition, locale: string); } export declare class UnusedTokensRemainError extends Error { readonly firstUnusedToken: Token.Token; readonly positionStart: StringUtils.GraphemePosition; constructor(firstUnusedToken: Token.Token, positionStart: StringUtils.GraphemePosition, locale: string); } export interface TokenWithColumnNumber { readonly token: Token.Token; readonly columnNumber: number; } export declare function assertIsParseError(error: unknown): error is ParseError; export declare function isParseError(error: unknown): error is ParseError; export declare function isTParseError(error: unknown): error is TParseError; export declare function isTInnerParseError(error: unknown): error is TInnerParseError; export declare function tokenFrom(error: TInnerParseError): Token.Token | undefined;