/// <reference types="@arcgis/core/interfaces.d.ts" />
import { MarkerSeverity, languages } from 'monaco-editor';
export declare enum ChildBearingProperties {
    ARGS = "args",
    CLAUSES = "clauses",
    ELSE = "else",
    END = "end",
    EXPR = "expr",
    LEFT = "left",
    OPERAND = "operand",
    QUALIFIER = "qualifier",
    RIGHT = "right",
    START = "start",
    VALUE = "value"
}
export declare enum ChildBearingNodeTypes {
    CASE_EXPRESSION = "case-expression",
    EXPRESSION_LIST = "expression-list",
    FUNCTION = "function",
    INTERVAL = "interval",
    INTERVAL_QUALIFIER = "interval-qualifier",
    WHEN_CLAUSE = "when-clause",
    UNARY_EXPRESSION = "unary-expression",
    BINARY_EXPRESSION = "binary-expression"
}
export declare const CHILD_BEARING_PROPERTIES: {
    readonly "case-expression": readonly [ChildBearingProperties.CLAUSES, ChildBearingProperties.OPERAND, ChildBearingProperties.ELSE];
    readonly "when-clause": readonly [ChildBearingProperties.OPERAND, ChildBearingProperties.VALUE];
    readonly "expression-list": readonly [ChildBearingProperties.VALUE];
    readonly "unary-expression": readonly [ChildBearingProperties.EXPR];
    readonly "binary-expression": readonly [ChildBearingProperties.LEFT, ChildBearingProperties.RIGHT];
    readonly function: readonly [ChildBearingProperties.ARGS];
    readonly interval: readonly [ChildBearingProperties.VALUE, ChildBearingProperties.QUALIFIER];
    readonly "interval-qualifier": readonly [ChildBearingProperties.START, ChildBearingProperties.END];
};
export declare const MarkerType: {
    Hint: MarkerSeverity.Hint;
    Info: MarkerSeverity.Info;
    Warning: MarkerSeverity.Warning;
    Error: MarkerSeverity.Error;
};
export declare const InsertTextRules: {
    InsertAsSnippet: languages.CompletionItemInsertTextRule.InsertAsSnippet;
};
export declare const CompletionItemKind: {
    Function: languages.CompletionItemKind.Function;
    Keyword: languages.CompletionItemKind.Keyword;
    Operator: languages.CompletionItemKind.Operator;
    Variable: languages.CompletionItemKind.Variable;
    Field: languages.CompletionItemKind.Field;
    Reference: languages.CompletionItemKind.Reference;
};
type UppercaseUnion<T extends string> = T extends `${infer First}${infer Rest}` ? `${Uppercase<First>}${UppercaseUnion<Rest>}` : T;
export declare const castDataTypesDict: Record<__esri.DataTypeNode["value"]["type"], UppercaseUnion<__esri.DataTypeNode["value"]["type"]>>;
export declare const castDataTypes: UppercaseUnion<__esri.DataTypeNode["value"]["type"]>[];
export declare const datePeriods: string[];
export declare const extractDateParts: string[];
export declare const dateLiterals: string[];
export declare const trimKeywords: string[];
/** This constant is used to constrain values returned in the peggy parser errors.
 *  If a new keyword is introduced, be sure to update this constant.
 */
export declare const sqlExprKeywords: string[];
export declare const sqlExprOperators: string[];
export declare const sqlExprFunctions: readonly ["CAST", "EXTRACT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "ABS", "ACOS", "ASIN", "ATAN", "CEILING", "COS", "FLOOR", "LOG", "LOG10", "MOD", "NULLIF", "POWER", "ROUND", "SIGN", "SIN", "TAN", "TRUNCATE", "CHAR_LENGTH", "COALESCE", "CONCAT", "LOWER", "POSITION", "SUBSTRING", "TRIM", "UPPER"];
export {};
