import { Metric as MetricType } from '../../../../../shared-logic/src/CustomField/CustomMetric/types';
import type { MetricField } from '../../../../../shared-logic/src/CustomField/types';
import type { QueryEngineConfig } from '../../../../../shared-logic/src/QueryEngineConfig/types';
declare type WipCustomMetricField = {
    publicName: string;
    metric?: MetricType;
};
export declare const useCustomMetric: (queryEngineConfig: QueryEngineConfig, initialField: MetricField | undefined, onNewCustomField: (customMetric: MetricField) => void) => {
    publicName: string;
    onChange: (partial: Partial<WipCustomMetricField>) => void;
    resetState: () => void;
    metric: import("../../../../../shared-logic/src/CustomField/CustomMetric/types").Operator | import("../../../../../shared-logic/src/CustomField/CustomMetric/types").IfLogic | import("../../../../../shared-logic/src/CustomField/CustomMetric/types").Aggregate | import("../../../../../shared-logic/src/CustomField/CustomMetric/types").NumberInput | import("../../../../../shared-logic/src/CustomField/CustomMetric/types").Field | undefined;
    isEditing: boolean;
    disabled: boolean;
    handleUpsert: () => void;
};
export {};
