import { IViewField } from '../../interfaces'; import { IAutoVizDisableReason, IAutoVizRule } from './types'; export type ISynthesizeResult = { fields: IViewField[]; } | { reason: IAutoVizDisableReason; }; /** * Reverse matching for the cold-start mode: given a rule and the dataset's full * field list, deterministically pick a minimal legal field combination. * * Fields demanded by special requirements (temporal, lon/lat) are picked first, * then the remaining dim/mea minimums are filled in field-list order, so the * result is stable across calls. Returns the blocking reason when the dataset * cannot satisfy the rule at all. * * The picked set is minimal, not scored: rule maximum counts can never be * exceeded because only `dim[0]` / `mea[0]` slots are filled. */ export declare function synthesizeFields(rule: IAutoVizRule, allFields: IViewField[], geoFeatureReady?: boolean): ISynthesizeResult;