export declare class QuotaChildGenderAgeMapper {
    /**
     * map old children quota to new child gender age quota
     */
    toChildAgeGender(quotas: QuotaClient[]): QuotaClient[];
    /**
     * Core mapper of old children quota to new child gender age quota
     */
    toChildAgeGenderCriteria(hasChildrenConditionCodes: string[], genderConditionCodes?: string[], ageRange?: RangeSet, criteria?: CriteriaClient): CriteriaClient;
    private _getNewAgeFromToConditionCodes;
    /**
     * map new child gender age quota to old children quota
     */
    toChildren(quotas: QuotaDatabase[]): QuotaDatabase[];
    /**
     * get new child gender age criteria from criteria array, as child age gender
     * always have only one criterias, return this single criteria or null in case
     * of invalid or more than one criteria.
     */
    private _getChildGenderAgeCriteriaIfValid;
    /**
     * map new child gender age criteria to old children 3 criterias
     */
    fromNewChildGenderAgeCriteriaToChildrenCriterias(criteria: CriteriaClient[]): CriteriaClient[];
    /**
     * Core mapper of new child gender age condition codes to old 3 children criterias
     */
    toChildrenCriterias(conditionCodes: string[], criteria: Criteria): CriteriaClient[];
    private _setOldGenderAgeCriterias;
}
export interface QuotaDatabase {
    criteria: CriteriaDatabase[];
}
export interface QuotaClient {
    criteria: CriteriaClient[];
}
export interface Criteria {
    qualification_code: number;
    qualification_name: string;
    q_type?: string;
    range_sets?: RangeSet[];
}
export interface CriteriaDatabase extends Criteria {
    conditions: Conditions[];
}
export interface CriteriaClient extends Criteria {
    condition_codes: string[];
}
export interface Conditions {
    id: string;
    name?: string;
}
export interface RangeSet {
    units: number;
    to: number;
    from: number;
}
export interface Qualification {
    qualification_code: number;
    condition_codes: string[];
}
