import { Overlay } from '@angular/cdk/overlay';
import { Injector } from '@angular/core';
import { DropdownComponentBase } from '../declarations/classes/abstract/dropdown-component-base.abstract';
import { OpenedDropdown } from '../declarations/classes/opened-dropdown.class';
import { DropdownConfig } from '../declarations/interfaces/dropdown-config.interface';
import { DropdownDataType } from '../declarations/types/utility-types/dropdown-data.utility-type';
import * as i0 from "@angular/core";
export declare class DropdownsService {
    protected readonly overlay: Overlay;
    protected readonly injector: Injector;
    private readonly dropdownStore;
    constructor(overlay: Overlay, injector: Injector);
    open<TComponent extends DropdownComponentBase<unknown>>(config: DropdownConfig<TComponent, DropdownDataType<TComponent>>): OpenedDropdown;
    closeById(id: string): void;
    closeAll(): void;
    isOpen(id: string): boolean;
    private getComponentPortal;
    private getOverlayRef;
    private getTargetPosition;
    private getOverlayWidth;
    private getOverlayPositionsByHorizontalPosition;
    private getConnectionPositionPair;
    static ɵfac: i0.ɵɵFactoryDeclaration<DropdownsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DropdownsService>;
}
