import { Params } from '../../../../results-driver/src/types';
import { DataSet } from '../../DataSet/types';
import { Query } from '../../Query/types';
import { QueryAttributes } from '../../QueryAttributes/types';
import { QueryEngineConfig } from '../../QueryEngineConfig/types';
import { VariableList } from '../../Variables/types';
import { PercentageField } from '../types';
/**
 * Creates a new custom percentage field.
 */
export declare const init: (publicName: string, denominatorFieldId: string, denominatorAggregate: string, numeratorFieldId: string | null, numeratorAggregate: string | null, numeratorFilter: QueryAttributes['filter'], denominatorFilter: QueryAttributes['filter'], queryEngineConfig: QueryEngineConfig, denominatorScope?: PercentageField['denominatorScope']) => PercentageField;
export declare const build: (customField: PercentageField, queryEngineConfig: QueryEngineConfig, dataSet: DataSet, _queryHasDimension: boolean, params: Params) => Query['measure'][number];
export declare function buildPercentageFilters(customField: PercentageField, variables: VariableList): {
    queryFilterFromNumeratorFilter: import("@vizzly/sqlbuilder-public").RecursiveFilter;
    queryFilterFromDenominatorFilter: import("@vizzly/sqlbuilder-public").RecursiveFilter;
};
