import { LitElement } from 'lit';
import './timeline-scale-selector';
import { MedicationDispense } from './model/medication-dispense';
import { Patient } from './model/patient';
import './vidal-history-order-and-group';
import './timeline-drug-display-mode-selector';
export declare type ClassifiedBy = 'ATC' | 'Vidal class';
export declare type GroupBy = 'molecule' | 'VMP' | 'prescribable';
export declare class VidalHistoryTtt extends LitElement {
    static logoVidal: string;
    static maleIcon: string;
    static femaleIcon: string;
    static warningIcon: string;
    static styles: import("lit").CSSResult;
    private _medicationDispenses;
    private _patient?;
    private _grouping;
    private _errors;
    private _dataErrors;
    private fullMedicationDispenses;
    private classifiedBy;
    private prescriptionItems;
    private startRange;
    private endRange;
    set medicationDispenses(value: MedicationDispense[]);
    get medicationDispenses(): MedicationDispense[];
    get grouping(): GroupBy;
    set grouping(grouping: GroupBy);
    get patient(): Patient | undefined;
    set patient(patient: Patient | undefined);
    dataFetchingSupplier?: (url: string) => Promise<Response>;
    dataDate?: Date;
    dataSource?: string;
    drugsForDateEvent?: (dateWithDrugs: {
        date: string;
        drugs: number[];
    }) => void;
    get dataErrors(): string[];
    get errors(): string[];
    private currentDate?;
    private zoomAndScale;
    timeline?: any;
    getHtmlElement(selector: string): HTMLElement;
    render(): import("lit-html").TemplateResult<1>;
    private selectToday;
    /**
     * Change display of the timeline according to selected timeline scale
     */
    private changeScale;
    protected updated(): void;
    /**
     * Retrieve ATC classifications xml data from API, parse it and put it into an instance of Classifications
     */
    private fetchAtcClassifications;
    /**
     * Retrieve vidal classifications xml data from API, parse it and put it into an instance of Classifications
     */
    private fetchVidalClassifications;
    /**
     * For a given drug, get data from api
     */
    private fetchDrugByCode;
    private fetchUcdPackageMostRecentOffMarketDate;
    /**
     *
     * Get prescribable name of one VMP from API
     */
    private fetchPrescribableNameForVmp;
    private drawTimeline;
    private computeStartDate;
    private setRangeFromTimeline;
    private getDrugsForDate;
    private onTimeLineGroupingClickHandler;
    private createArrowForTimeNavigation;
    private getDurationInMonths;
    private getFullMedicationDispensesPromises;
    /**
     * For each drug, get drug, and ATC classifications data
     * from API and put it into a FullMedicationDispense array
     *
     * For offMarket UCD drug type fetch its packages
     * and hydrate drug offMarketDate with the most recent offMarketDate packages
     */
    private hydrateFullMedicationDispense;
    /**
     * For each drug, get Vidal classifications data
     * from API and put it into a FullMedicationDispense array
     */
    private hydrateFullMedicationDispensesWithVidalClassifications;
    /**
     * For each drug, get his prescribable name
     * from API and put it into a FullMedicationDispense array
     */
    private hydrateFullMedicationDispensesWithPrescribableNames;
    private reclassify;
    private toggleTimeline;
    private hideDiv;
    private showDiv;
}
declare global {
    interface HTMLElementTagNameMap {
        'vidal-history-ttt': VidalHistoryTtt;
    }
}
//# sourceMappingURL=vidal-history-ttt.d.ts.map