import { SupportedDbtAdapter, type DbtModelNode } from '../types/dbt';
import { type Explore, type ExploreError, type Table } from '../types/explore';
import { type CustomGranularity, type LightdashProjectConfig } from '../types/lightdashProjectConfig';
import { type TimeFrames } from '../types/timeFrames';
import { type WarehouseCatalog, type WarehouseSqlBuilder } from '../types/warehouse';
import { type ResolvedAdditionalTimeIntervals, type WeekDay } from '../utils/timeFrames';
export declare const convertTable: (adapterType: SupportedDbtAdapter, model: DbtModelNode, spotlightConfig: LightdashProjectConfig["spotlight"], startOfWeek?: WeekDay | null, disableTimestampConversion?: boolean, customGranularities?: Record<string, CustomGranularity>, allowPartialCompilation?: boolean, additionalTimeIntervals?: ResolvedAdditionalTimeIntervals, granularityLabels?: Partial<Record<TimeFrames, string>>) => Omit<Table, "lineageGraph">;
export type ExplorePostProcessor = (compiledExplores: Explore[], context: {
    model: DbtModelNode;
    meta: Record<string, unknown>;
}) => (Explore | ExploreError)[];
export type ConvertExploresOptions = {
    disableTimestampConversion?: boolean;
    allowPartialCompilation?: boolean;
    postProcessors?: ExplorePostProcessor[];
};
export declare const convertExplores: (models: DbtModelNode[], loadSources: boolean, adapterType: SupportedDbtAdapter, warehouseSqlBuilder: WarehouseSqlBuilder, lightdashProjectConfig: LightdashProjectConfig, options?: ConvertExploresOptions) => Promise<(Explore | ExploreError)[]>;
export declare const attachTypesToModels: (models: DbtModelNode[], warehouseCatalog: WarehouseCatalog, throwOnMissingCatalogEntry?: boolean, caseSensitiveMatching?: boolean) => DbtModelNode[];
export declare const getSchemaStructureFromDbtModels: (dbtModels: DbtModelNode[]) => {
    database: string;
    schema: string;
    table: string;
}[];
//# sourceMappingURL=translator.d.ts.map