import type { Sampling, MeasureTimeExpr, TimeLiteralNode, RegexMatchExpr, TimeDeltaExpr, TimeTruncExpr, TimeExtractExpr, TypecastExpr, BasicAtomicTypeDef, AtomicTypeDef, ArrayLiteralNode, RecordLiteralNode } from '../../model/malloy_types'; import type { BooleanTypeSupport, DialectFieldList, FieldReferenceType, OrderByClauseType, QueryInfo } from '../dialect'; import { Dialect } from '../dialect'; import type { DialectFunctionOverloadDef } from '../functions'; export declare class MySQLDialect extends Dialect { name: string; defaultNumberType: string; defaultDecimalType: string; udfPrefix: string; hasFinalStage: boolean; stringTypeName: string; divisionIsInteger: boolean; supportsSumDistinctFunction: boolean; unnestWithNumbers: boolean; defaultSampling: { rows: number; }; supportUnnestArrayAgg: boolean; supportsAggDistinct: boolean; supportsCTEinCoorelatedSubQueries: boolean; supportsSafeCast: boolean; dontUnionIndex: boolean; supportsQualify: boolean; supportsNesting: boolean; experimental: boolean; supportsFullJoin: boolean; supportsPipelinesInViews: boolean; readsNestedData: boolean; supportsComplexFilteredSources: boolean; supportsArraysInData: boolean; compoundObjectInSchema: boolean; booleanType: BooleanTypeSupport; orderByClause: OrderByClauseType; malloyTypeToSQLType(malloyType: AtomicTypeDef): string; sqlTypeToMalloyType(sqlType: string): BasicAtomicTypeDef; quoteTablePath(tablePath: string): string; sqlGroupSetTable(groupSetCount: number): string; sqlAnyValue(_groupSet: number, fieldName: string): string; private mapFields; sqlAggregateTurtle(groupSet: number, fieldList: DialectFieldList, orderBy: string | undefined): string; sqlAnyValueTurtle(groupSet: number, fieldList: DialectFieldList): string; sqlAnyValueLastTurtle(name: string, groupSet: number, sqlName: string): string; sqlCoaleseMeasuresInline(groupSet: number, fieldList: DialectFieldList): string; malloyToSQL(t: string): string; unnestColumns(fieldList: DialectFieldList): string; jsonTable(source: string, fieldList: DialectFieldList, isSingleton: boolean): string; sqlUnnestAlias(source: string, alias: string, fieldList: DialectFieldList, _needDistinctKey: boolean, isArray: boolean, _isInNestedPipeline: boolean): string; sqlUnnestPipelineHead(isSingleton: boolean, sourceSQLExpression: string, fieldList: DialectFieldList): string; sqlSumDistinctHashedKey(_sqlDistinctKey: string): string; sqlSumDistinct(key: string, value: string, funcName: string): string; sqlGenerateUUID(): string; sqlFieldReference(parentAlias: string, parentType: FieldReferenceType, childName: string, childType: string): string; sqlCreateFunction(id: string, funcText: string): string; sqlCreateFunctionCombineLastStage(lastStageName: string): string; sqlSelectAliasAsStruct(_alias: string, _fieldList: DialectFieldList): string; sqlMaybeQuoteIdentifier(identifier: string): string; sqlCreateTableAsSelect(_tableName: string, _sql: string): string; sqlNowExpr(): string; sqlTruncExpr(qi: QueryInfo, trunc: TimeTruncExpr): string; truncToUnit(expr: string, units: string): string; sqlTimeExtractExpr(qi: QueryInfo, te: TimeExtractExpr): string; sqlAlterTimeExpr(df: TimeDeltaExpr): string; sqlCast(qi: QueryInfo, cast: TypecastExpr): string; sqlRegexpMatch(df: RegexMatchExpr): string; sqlLiteralTime(qi: QueryInfo, lt: TimeLiteralNode): string; sqlMeasureTimeExpr(df: MeasureTimeExpr): string; sqlAggDistinct(_key: string, _values: string[], _func: (valNames: string[]) => string): string; sqlSampleTable(tableSQL: string, sample: Sampling | undefined): string; sqlLiteralString(literal: string): string; sqlLiteralRegexp(literal: string): string; getDialectFunctionOverrides(): { [name: string]: DialectFunctionOverloadDef[]; }; getDialectFunctions(): { [name: string]: DialectFunctionOverloadDef[]; }; mapFieldsForJsonObject(fieldList: DialectFieldList, nullValues?: boolean): string; castToString(expression: string): string; concat(...values: string[]): string; validateTypeName(sqlType: string): boolean; sqlLiteralArray(lit: ArrayLiteralNode): string; sqlLiteralRecord(lit: RecordLiteralNode): string; }