import type { Expr, Sampling, AtomicTypeDef, TimeDeltaExpr, TypecastExpr, RegexMatchExpr, MeasureTimeExpr, TimeLiteralNode, TimeExtractExpr, TimeTruncExpr, BasicAtomicTypeDef, RecordLiteralNode } from '../../model/malloy_types'; import type { DialectFunctionOverloadDef } from '../functions'; import type { DialectFieldList, OrderByClauseType, QueryInfo } from '../dialect'; import { PostgresBase } from '../pg_impl'; export declare class TrinoDialect extends PostgresBase { name: string; experimental: boolean; defaultNumberType: string; defaultDecimalType: string; udfPrefix: string; hasFinalStage: boolean; divisionIsInteger: boolean; supportsSumDistinctFunction: boolean; unnestWithNumbers: boolean; defaultSampling: { enable: boolean; }; supportUnnestArrayAgg: boolean; supportsAggDistinct: boolean; supportsCTEinCoorelatedSubQueries: boolean; dontUnionIndex: boolean; supportsQualify: boolean; supportsSafeCast: boolean; supportsNesting: boolean; cantPartitionWindowFunctionsOnExpressions: boolean; orderByClause: OrderByClauseType; nullMatchesFunctionSignature: boolean; supportsSelectReplace: boolean; supportsComplexFilteredSources: boolean; supportsTempTables: boolean; supportsCountApprox: boolean; supportsHyperLogLog: boolean; quoteTablePath(tablePath: string): string; sqlGroupSetTable(groupSetCount: number): string; exprToSQL(qi: QueryInfo, df: Expr): string | undefined; sqlAnyValue(groupSet: number, fieldName: string): string; buildTypeExpression(fieldList: DialectFieldList): string; 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; sqlUnnestAlias(source: string, alias: string, _fieldList: DialectFieldList, needDistinctKey: boolean, isArray: boolean, _isInNestedPipeline: boolean): string; static dtype: string; sqlSumDistinctHashedKey(sqlDistinctKey: string): string; sqlSumDistinct(key: string, value: string, funcName: string): string; sqlGenerateUUID(): string; sqlFieldReference(parentAlias: string, _parentType: unknown, childName: string, _childType: string): string; sqlUnnestPipelineHead(isSingleton: boolean, sourceSQLExpression: string): string; sqlCreateFunction(id: string, funcText: string): string; sqlCreateTableAsSelect(tableName: string, sql: string): string; sqlCreateFunctionCombineLastStage(lastStageName: string, fieldList: DialectFieldList): string; sqlSelectAliasAsStruct(alias: string, fieldList: any): string; keywords: string[]; sqlAlterTimeExpr(df: TimeDeltaExpr): string; sqlCast(qi: QueryInfo, cast: TypecastExpr): string; sqlRegexpMatch(reCmp: RegexMatchExpr): string; sqlMeasureTimeExpr(mf: MeasureTimeExpr): string; sqlSampleTable(tableSQL: string, sample: Sampling | undefined): string; sqlLiteralString(literal: string): string; sqlLiteralRegexp(literal: string): string; getDialectFunctionOverrides(): { [name: string]: DialectFunctionOverloadDef[]; }; getDialectFunctions(): { [name: string]: DialectFunctionOverloadDef[]; }; malloyTypeToSQLType(malloyType: AtomicTypeDef): string; sqlTypeToMalloyType(sqlType: string): BasicAtomicTypeDef; castToString(expression: string): string; concat(...values: string[]): string; sqlMakeUnnestKey(key: string, rowKey: string): string; sqlStringAggDistinct(distinctKey: string, valueSQL: string, separatorSQL: string): string; validateTypeName(sqlType: string): boolean; sqlLiteralTime(qi: QueryInfo, lit: TimeLiteralNode): string; sqlTruncExpr(qi: QueryInfo, df: TimeTruncExpr): string; sqlTimeExtractExpr(qi: QueryInfo, from: TimeExtractExpr): string; sqlLiteralRecord(lit: RecordLiteralNode): string; } export declare class PrestoDialect extends TrinoDialect { name: string; supportsPipelinesInViews: boolean; supportsLeftJoinUnnest: boolean; sqlGenerateUUID(): string; sqlUnnestAlias(source: string, alias: string, _fieldList: DialectFieldList, needDistinctKey: boolean, isArray: boolean, _isInNestedPipeline: boolean): string; getDialectFunctions(): { [name: string]: DialectFunctionOverloadDef[]; }; }