import { type AnyType } from '../types/any';
import { type DbtModelLightdashMetric } from '../types/dbt';
import { type DbtSemanticModel } from '../types/dbtSemanticLayer';
export type TranslateMetricFlowArgs = {
    /** `manifest.semantic_models` */
    semanticModels: Record<string, DbtSemanticModel>;
    /** `manifest.metrics` (MetricFlow-shaped in dbt >= 1.6) */
    metrics: Record<string, AnyType>;
    /** dbt model `unique_id` -> Lightdash table name, for models being deployed. */
    modelNamesByUniqueId: Record<string, string>;
};
export type TranslateMetricFlowResult = {
    /** table name -> metric name -> Lightdash metric definition. */
    metricsByModel: Record<string, Record<string, DbtModelLightdashMetric>>;
    warnings: string[];
    translatedCount: number;
    skippedCount: number;
};
/**
 * Translate supported MetricFlow metric definitions into Lightdash model
 * metrics, grouped by the dbt model they belong to.
 *
 * Supported: `simple` metrics and measures flagged `create_metric: true`, both
 * without filters (Lightdash cannot faithfully represent MetricFlow where
 * filters). Everything else (ratio / derived / cumulative / conversion,
 * filtered metrics, and `sum_boolean` measures) is skipped with a warning.
 */
export declare const translateMetricFlowMetrics: ({ semanticModels, metrics, modelNamesByUniqueId, }: TranslateMetricFlowArgs) => TranslateMetricFlowResult;
//# sourceMappingURL=metricFlow.d.ts.map