import { AfterViewInit, ElementRef, EventEmitter, OnChanges, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
import { Observable } from 'rxjs';
import { TabComponent } from './tab.component';
import * as i0 from "@angular/core";
export interface ITabOperation {
    id: number | string;
    operation: string;
}
export declare class TabsComponent implements OnChanges, AfterViewInit {
    private el;
    static ID_SEED: number;
    tabsEle: ElementRef;
    tabsViewport: ElementRef;
    type: 'tabs' | 'pills' | 'options' | 'wrapped' | 'slider';
    size: 'lg' | 'md' | 'sm' | 'xs';
    showContent: boolean;
    scrollMode: boolean | 'normal' | 'auto';
    activeTab: number | string;
    customWidth: string;
    reactivable: boolean;
    closeable: boolean;
    closeableIds: any[];
    addable: boolean;
    addTabTpl: TemplateRef<any>;
    /**
     * @todo
     * 待重新设计
     */
    vertical: boolean;
    /**
     * @deprecated
     * class设置无需内层，外层即可
     */
    cssClass: string;
    beforeChange: (value: any) => boolean | Promise<boolean> | Observable<boolean>;
    tabs: QueryList<TabComponent>;
    activeTabChange: EventEmitter<string | number>;
    addOrDeleteTabChange: EventEmitter<ITabOperation>;
    id: string;
    offsetIndex: number;
    offsetLeft: number;
    offsetWidth: number;
    scrollModeToggle: boolean;
    tabsWidth: any[];
    get isShowShadow(): boolean;
    constructor(el: ElementRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    changeActiveSlidingBlock(): void;
    canChange(currentTab: number | string): Promise<boolean>;
    select(id: number | string, callback?: Function): void;
    checkCloseable(tab: TabComponent): boolean;
    addOrDeleteTab(event: Event, id?: number | string): void;
    getTabsWidth(): void;
    scroll(direction?: string, index?: number, tab?: TabComponent, isInitScrollMode?: boolean): void;
    scrollIntoView(dom: HTMLElement): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "d-tabs", ["tabs"], { "type": "type"; "size": "size"; "showContent": "showContent"; "scrollMode": "scrollMode"; "activeTab": "activeTab"; "customWidth": "customWidth"; "reactivable": "reactivable"; "closeable": "closeable"; "closeableIds": "closeableIds"; "addable": "addable"; "addTabTpl": "addTabTpl"; "vertical": "vertical"; "cssClass": "cssClass"; "beforeChange": "beforeChange"; }, { "activeTabChange": "activeTabChange"; "addOrDeleteTabChange": "addOrDeleteTabChange"; }, ["tabs"], never, false>;
}
