import type { ArrayLiteralNode, RecordLiteralNode, RegexMatchExpr, TimeExtractExpr, TimeLiteralNode, TimeTruncExpr, TypecastExpr } from '../model/malloy_types'; import type { QueryInfo } from './dialect'; import { Dialect } from './dialect'; export declare const timeExtractMap: Record; /** * Many SQL implementations started with the PostGres source, and therefore can use the * same implementations for the much of the SQL code generation */ export declare abstract class PostgresBase extends Dialect { sqlTruncExpr(qi: QueryInfo, df: TimeTruncExpr): string; sqlNowExpr(): string; sqlTimeExtractExpr(qi: QueryInfo, from: TimeExtractExpr): string; sqlCast(qi: QueryInfo, cast: TypecastExpr): string; sqlRegexpMatch(df: RegexMatchExpr): string; sqlLiteralTime(qi: QueryInfo, lt: TimeLiteralNode): string; sqlLiteralRecord(_lit: RecordLiteralNode): string; sqlLiteralArray(lit: ArrayLiteralNode): string; sqlMaybeQuoteIdentifier(identifier: string): string; }