IncrementBuilder: {
    buildQueries: (
        submissions: AudienceSurveySubmission[],
        reportResponses: null | SubmissionData,
    ) => IncrementQuery;
    calculateMedian: (numbers: number[]) => number;
    consolidateQueries: (queries: IncrementQuery[]) => IncrementQuery;
    convertDataSetToNumberArray: (dataSet: SubmissionDataSet) => number[];
    flattenNestedObject: (obj: any, keys?: any[]) => IncrementQuery;
    fromAge: (
        age: number,
        submissionCount: number,
        reportResponses: null | SubmissionData,
    ) => IncrementQuery;
    fromBudget: (
        budget: number,
        submissionCount: number,
        reportResponses: null | SubmissionData,
    ) => IncrementQuery;
    fromDestinations: (answers: Record<string, string>) => IncrementQuery;
    fromGender: (gender: string) => IncrementQuery;
    fromQualification: (age: number, budget: number) => IncrementQuery;
    fromSurveySubmission: (
        submission: AudienceSurveySubmission,
        report: null | AudienceReport,
    ) => IncrementQuery;
    fromSurveySubmissions: (
        submissions: AudienceSurveySubmission[],
        report: null | AudienceReport,
    ) => IncrementQuery;
    fromTimesOfYear: (answers: Record<string, string>) => IncrementQuery;
    getMedianValueFromSubmissions: (
        submissions: AudienceSurveySubmission[],
        existingMedian: undefined | number,
        existingDataSet?: SubmissionDataSet,
        key: MedianKeys,
        precision?: number,
    ) => number;
} = ...

Build an Increment Query with the correct property keys and values for the given data.

For example, Mongo DB's increment query is:

Type declaration

{
* $inc: { key: value}
* }

Increment builder constructs the `{ key: value }` object.