import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectionPositionPair } from '@angular/cdk/overlay';
import { OnDestroy, OnInit } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { SelectStateServiceDeclaration } from '../../interfaces/select-state-service-declaration.interface';
import * as i0 from "@angular/core";
export declare abstract class SelectDropdownBase<T> implements OnInit, OnDestroy {
    private readonly selectStateService;
    protected abstract readonly cdkConnectedOverlay: CdkConnectedOverlay;
    private readonly subscription;
    readonly isExpanded$: Observable<boolean>;
    readonly animationState$: Observable<string>;
    readonly dropDownOverlayOrigin$: Observable<CdkOverlayOrigin>;
    readonly dropDownTriggerButtonWidthPx$: Observable<number>;
    readonly overlayPositions: ConnectionPositionPair[];
    readonly isOverlayAttached$: BehaviorSubject<boolean>;
    constructor(selectStateService: SelectStateServiceDeclaration<T>);
    ngOnInit(): void;
    ngOnDestroy(): void;
    processEventPropagation(event: Event): void;
    handleAttachOverlay(): void;
    handleDetachOverlay(): void;
    private handleOverlayRefOnOpen;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectDropdownBase<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SelectDropdownBase<any>, never, never, {}, {}, never, never, false>;
}
