import { Column } from 'druid-query-toolkit';
import { PlywoodRequester } from 'plywood-base-api';
import { Attributes } from '../datatypes';
import { Expression, RefExpression } from '../expressions';
import { ExternalJS, ExternalValue, IntrospectionDepth } from './baseExternal';
import { SQLExternal } from './sqlExternal';
export interface DruidSQLDescribeRow {
    COLUMN_NAME: string;
    DATA_TYPE: string;
}
export declare class DruidSQLExternal extends SQLExternal {
    static engine: string;
    static type: string;
    static fromJS(parameters: ExternalJS, requester: PlywoodRequester<any>): DruidSQLExternal;
    static postProcessIntrospect(columns: Column[]): Attributes;
    static getSourceList(requester: PlywoodRequester<any>): Promise<string[]>;
    static getVersion(requester: PlywoodRequester<any>): Promise<string>;
    context: Record<string, any>;
    constructor(parameters: ExternalValue);
    valueOf(): ExternalValue;
    toJS(): ExternalJS;
    equals(other: DruidSQLExternal | undefined): boolean;
    getTimeAttribute(): string | undefined;
    isTimeRef(ex: Expression): ex is RefExpression;
    protected getIntrospectAttributes(depth: IntrospectionDepth): Promise<Attributes>;
    protected sqlToQuery(sql: string): any;
    protected capability(cap: string): boolean;
}
//# sourceMappingURL=druidSqlExternal.d.ts.map