import { DataSet } from '../../../../../../shared-logic/src/DataSet/types';
import { CustomField, Percentage, PercentageField } from '../../../../../../shared-logic/src/CustomField/types';
import { QueryAttributes } from '../../../../../../shared-logic/src/QueryAttributes/types';
import { QueryEngineConfig } from '../../../../../../shared-logic/src/QueryEngineConfig/types';
export declare type WipPercentage = {
    numerator: QueryAttributes.Measure | null;
    denominator: QueryAttributes.Measure | null;
    numeratorFilter: boolean;
    denominatorFilter: boolean;
    publicName: string;
    denominatorScope: Percentage['denominatorScope'];
};
declare const usePercentageModal: (queryEngineConfig: QueryEngineConfig, percentage: PercentageField | undefined, dataSet: DataSet, onNewCustomField: (customMetric: CustomField) => void) => {
    onChange: (partial: Partial<WipPercentage>) => void;
    denominatorScope: "all" | "withinGrouping" | undefined;
    fieldPublicName: string;
    denominatorMeasure: QueryAttributes.Measure | null;
    numeratorMeasure: QueryAttributes.Measure | null;
    completedNumeratorFilter: QueryAttributes.Filter[][];
    wipNumeratorFilters: Partial<import("../../FilterInput/types").CompletedWipFilter>[][];
    deleteWipNumeratorFilter: (orFilterIndex: number, andFilterIndex: number) => QueryAttributes.Filter[][];
    updateWipNumeratorFilter: (wipFilter: Partial<import("../../FilterInput/types").CompletedWipFilter>, orFilterIndex: number, andFilterIndex: number) => void;
    addOrNumeratorFilter: () => void;
    completedDenominatorFilter: QueryAttributes.Filter[][];
    wipDenominatorFilters: Partial<import("../../FilterInput/types").CompletedWipFilter>[][];
    deleteWipDenominatorFilter: (orFilterIndex: number, andFilterIndex: number) => QueryAttributes.Filter[][];
    updateWipDenominatorFilter: (wipFilter: Partial<import("../../FilterInput/types").CompletedWipFilter>, orFilterIndex: number, andFilterIndex: number) => void;
    addOrDenominatorFilter: () => void;
    isEditing: boolean;
    handleUpsertPercentageField: () => void;
    numeratorFilter: boolean;
    denominatorFilter: boolean;
    saveDisabled: boolean;
};
export default usePercentageModal;
