import { LitElement } from 'lit';
import { SortState } from './model/drug-result-filters';
import { FilterType } from './model/filter-type';
import { ActiveExcipient } from './model/ActiveExcipient';
export declare class VidalSearch extends LitElement {
    static warningIcon: string;
    static spinner: string;
    static styles: import("lit").CSSResult[];
    static leftCurveArrow: string;
    static redArrowDown: string;
    static whiteArrowDown: string;
    private activeExcipientHelpers;
    private drugResults;
    private indicationGroupResults;
    private activePrinciples;
    private isLoading;
    private searchByIndicationOrActivePrinciple;
    private showFilterTypeDropDown;
    private temporaryDrugResult;
    private currentIndicationResult;
    private currentActivePrinciple;
    private searchByIndicationResultWarningMessage?;
    private _filterType;
    private timer?;
    excipientsHtmlElement: HTMLElement;
    vmpCheckbox: HTMLInputElement;
    productCheckbox: HTMLInputElement;
    get filterType(): FilterType;
    set filterType(type: FilterType);
    get filterTypeLabel(): string;
    get searchInput(): string;
    private sortsState;
    searchApiService: (endPoint: any) => Promise<Response>;
    drugsDataApiService: (url: any, body: any, method: any, option: any) => Promise<Response>;
    drugFacetsApiService: (url: any, body: any, option: any) => Promise<Response>;
    activeExcipientsApiService: (endPoint: any) => Promise<Response>;
    emitOnProductClickEvent: (string: any) => void;
    set sortState(sortState: SortState);
    emitOnSortEvent: (SortState: any) => void;
    get activeExcipients(): ActiveExcipient[];
    firstUpdated(): Promise<void>;
    constructor();
    search(): void;
    private resetResults;
    private searchDrugByLabel;
    private searchIndications;
    private searchActivePrinciples;
    private searchDrugsByIndication;
    private searchDrugsByActivePrinciple;
    private retrieveDrugsFrom;
    private getDrugsDataApiServiceRequestBody;
    private getFilteredDrugIds;
    private setDrugIdsToRemove;
    private getFilteredDrugsRequestBody;
    private extractIdsFromDom;
    private retrieveIndicationsFromIndicationGroup;
    filterByVMPAndProduct(): void;
    private onShowActiveExcipientButtonClickHandler;
    render(): import("lit-html").TemplateResult<1>;
    handleSearchInputKeyup(): void;
    renderDrugs(): import("lit-html").TemplateResult<1>[];
    renderIndicationGroupResults(): import("lit-html").TemplateResult<1>;
    renderActivePrinciples(): import("lit-html").TemplateResult<1>;
    private toggleDisplayIndications;
    private addCorrespondingFilterOrderClass;
    private static displayPriceOrRange;
    private sortBy;
    private static getIndicationResultType;
}
declare global {
    interface HTMLElementTagNameMap {
        'vidal-search': VidalSearch;
    }
}
//# sourceMappingURL=vidal-search.d.ts.map