import { Field } from "./types/field";
import { FieldType } from "./types/field_type";
import { Operator } from "./types/operator";
import { Source } from "./types/source";
import { Value } from "./types/value";
export declare const enum GlqlParseErrorType {
    UnknownError = 0,
    InvalidRelativeDateUnit = 1,
    UnterminatedString = 2,
    MissingField = 3,
    MissingOperator = 4,
    MissingValue = 5,
    InvalidUsername = 6,
    InvalidMilestone = 7,
    InvalidLabel = 8,
    InvalidIteration = 9,
    InvalidEpic = 10,
    UnexpectedToken = 11
}
export declare enum InvalidScopeType {
    Project = 0,
    Group = 1,
    Namespace = 2
}
export declare abstract class GlqlError extends Error {
}
export declare class GlqlParseError extends GlqlError {
    code: GlqlParseErrorType;
    input: string;
    constructor(code: GlqlParseErrorType, input: string);
}
export declare abstract class GlqlAnalyzeError extends Error {
}
export declare namespace GlqlAnalyzeError {
    class ExpectedFieldToBeArray extends GlqlAnalyzeError {
        value: string;
        constructor(value: string);
    }
    class InvalidDateFormat extends GlqlAnalyzeError {
        date: string;
        constructor(date: string);
    }
    class UnrecognizedFunction extends GlqlAnalyzeError {
        fnName: string;
        args: string[];
        constructor(fnName: string, args: string[]);
    }
    class UnexpectedNumberOfArguments extends GlqlAnalyzeError {
        fnName: string;
        expected: number;
        actual: number;
        constructor(fnName: string, expected: number, actual: number);
    }
    class UnrecognizedField extends GlqlAnalyzeError {
        field: Field;
        constructor(field: Field);
    }
    class SourceNotProvided extends GlqlAnalyzeError {
        constructor();
    }
    class UnrecognizedFieldForSource extends GlqlAnalyzeError {
        field: Field;
        source: Source;
        constructor(field: Field, source: Source);
    }
    class UnrecognizedSortFieldForSource extends GlqlAnalyzeError {
        field: Field;
        source: Source;
        supportedFields: Field[];
        constructor(field: Field, source: Source, supportedFields: Field[]);
    }
    class InvalidSortOrder extends GlqlAnalyzeError {
        order: string;
        constructor(order: string);
    }
    class DuplicateOperatorForField extends GlqlAnalyzeError {
        operator: Operator;
        field: Field;
        constructor(operator: Operator, field: Field);
    }
    class UnsupportedOperatorForField extends GlqlAnalyzeError {
        field: Field;
        operator: Operator;
        supportedOperators: Operator[];
        constructor(field: Field, operator: Operator, supportedOperators: Operator[]);
    }
    class UnsupportedOperatorValueForField extends GlqlAnalyzeError {
        field: Field;
        operator: Operator;
        value: Value;
        supportedOperators: Operator[];
        constructor(field: Field, operator: Operator, value: Value, supportedOperators: Operator[]);
    }
    class UnsupportedValueForField extends GlqlAnalyzeError {
        field: Field;
        value: Value;
        supportedValueTypes: FieldType[];
        constructor(field: Field, value: Value, supportedValueTypes: FieldType[]);
    }
    class IncorrectFieldPairing extends GlqlAnalyzeError {
        field: Field;
        supportedFields: Field[];
        constructor(field: Field, supportedFields: Field[]);
    }
    class InvalidScope extends GlqlAnalyzeError {
        scopeType: InvalidScopeType;
        constructor(scopeType: InvalidScopeType);
    }
    class ArrayTooLarge extends GlqlAnalyzeError {
        field: Field;
        maxAllowed: number;
        constructor(field: Field, maxAllowed: number);
    }
    class UnsupportedDimensionFunction extends GlqlAnalyzeError {
        fnName: string;
        constructor(fnName: string);
    }
    class MaxDimensionsExceeded extends GlqlAnalyzeError {
        constructor();
    }
    class CannotCombineValues extends GlqlAnalyzeError {
        a: Value;
        b: Value;
        constructor(a: Value, b: Value);
    }
    class UnknownError extends GlqlAnalyzeError {
        constructor();
    }
}
