import { CdkDragDrop, CdkDragStart } from '@angular/cdk/drag-drop';
import { ElementRef, OnDestroy, QueryList } from '@angular/core';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { BsTabPageComponent } from '../tab-page/tab-page.component';
import { BsTabsPosition } from '../tabs-position';
import * as i0 from "@angular/core";
export declare class BsTabControlComponent implements OnDestroy {
    constructor(element: ElementRef<any>);
    dBlock: boolean;
    positionRelative: boolean;
    set setTabPages(value: QueryList<BsTabPageComponent>);
    border: boolean;
    set restrictDragging(value: boolean);
    dragBoundarySelector: string;
    element: ElementRef<any>;
    tabPages$: BehaviorSubject<QueryList<BsTabPageComponent> | null>;
    activeTab$: BehaviorSubject<BsTabPageComponent | null>;
    orderedTabPages: BsTabPageComponent[];
    tabControlId$: BehaviorSubject<number>;
    tabControlName$: Observable<string>;
    topTabs$: Observable<boolean>;
    bottomTabs$: Observable<boolean>;
    disableDragDrop$: Observable<boolean>;
    static tabControlCounter: number;
    tabCounter: number;
    destroyed$: Subject<unknown>;
    selectFirstTab$: BehaviorSubject<boolean>;
    get selectFirstTab(): boolean;
    set selectFirstTab(value: boolean);
    tabsPosition$: BehaviorSubject<BsTabsPosition>;
    get tabsPosition(): BsTabsPosition;
    set tabsPosition(value: BsTabsPosition);
    allowDragDrop$: BehaviorSubject<boolean>;
    get allowDragDrop(): boolean;
    set allowDragDrop(value: boolean);
    setActiveTab(tab: BsTabPageComponent): boolean;
    startDragTab(ev: CdkDragStart<BsTabPageComponent>): void;
    moveTab(ev: CdkDragDrop<QueryList<BsTabPageComponent> | null>): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BsTabControlComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BsTabControlComponent, "bs-tab-control", never, { "border": "border"; "restrictDragging": "restrictDragging"; "selectFirstTab": "selectFirstTab"; "tabsPosition": "tabsPosition"; "allowDragDrop": "allowDragDrop"; }, {}, ["setTabPages"], ["*"], false, never>;
}
