import { IccCodeApi } from '../icc-api';
import { Code } from '../icc-api/model/Code';
import { AuthenticationProvider } from './auth/AuthenticationProvider';
export declare class IccCodeXApi extends IccCodeApi {
    icd10: any;
    icpc2: any;
    codeLanguages: any;
    constructor(host: string, headers: {
        [key: string]: string;
    }, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
    /**
     * Groups a list of ICD-10 codes by their corresponding ICD-10 chapter.
     * @param listOfCodes an array of ICD-10 code strings to classify into chapters.
     * @return a sorted array of chapter objects, each containing a code, description, and list of matching sub-codes.
     */
    icdChapters(listOfCodes: Array<string>): Promise<import("./utils").CodeChapter[]>;
    /**
     * Groups a list of ICPC-2 codes by their corresponding ICPC-2 chapter.
     * @param listOfCodes an array of ICPC-2 code strings to classify into chapters.
     * @return a sorted array of chapter objects, each containing a code, description, and list of matching sub-codes.
     */
    icpcChapters(listOfCodes: Array<string>): Promise<import("./utils").CodeChapter[]>;
    /**
     * Returns the appropriate language code for a given code type. Falls back to French ('fr') if the
     * requested language is not available for the specified type.
     * @param type the code type to look up available languages for.
     * @param lng the desired language code.
     * @return the requested language code if available, or 'fr' as a fallback.
     */
    languageForType(type: string, lng: string): string;
    /**
     * Normalizes a code, ensuring it has a consistent structure with id, type, code, and version fields.
     * Accepts either a pipe-delimited string (e.g. "type|code|version") or a Code object.
     * @param c a code represented as a pipe-delimited string or a Code object.
     * @return an object with id, type, code, and version fields fully populated.
     */
    normalize(c: Code | string): {
        id: string;
        type: string | undefined;
        code: string | undefined;
        version: string;
    } | {
        id: string | undefined;
        type: string;
        code: string;
        version: string;
    };
}
