import { OnChanges, QueryList, SimpleChanges } from "@angular/core";
import { DxcTabComponent } from "./dxc-tab/dxc-tab.component";
import { MatTabGroup } from "@angular/material/tabs";
import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import { ElementRef, ChangeDetectorRef } from "@angular/core";
import { TabService } from "./services/tab.service";
import { MatRipple } from "@angular/material/core";
import * as i0 from "@angular/core";
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
declare type Margin = {
    top?: Space;
    bottom?: Space;
    left?: Space;
    right?: Space;
};
export declare class DxcTabsComponent implements OnChanges {
    private utils;
    private _element;
    private cdRef;
    private service;
    /**
     * The index of the active tab.
     */
    get activeTabIndex(): number;
    set activeTabIndex(value: number);
    private _activeTabIndex;
    /**
     * Position of icons in tabs.
     */
    iconPosition: "top" | "left";
    /**
     * Size of the margin to be applied to the component
     * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
     * in order to specify different margin sizes.
     */
    margin: Space | Margin;
    className: any;
    allTabWithLabelAndIcon: boolean;
    renderedActiveTabIndex: number;
    ripple: MatRipple;
    tabGroup: MatTabGroup;
    protected tabs: QueryList<DxcTabComponent>;
    defaultInputs: BehaviorSubject<any>;
    constructor(utils: CssUtils, _element: ElementRef, cdRef: ChangeDetectorRef, service: TabService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    onSelectedTabChangeHandler($event: any): void;
    setActiveTab(): void;
    ngAfterViewInit(): void;
    private hasLabelAndIcon;
    private generateTabs;
    setEventListeners(): void;
    insertUnderline(): void;
    getDynamicStyle(inputs: any): string;
    getTabHeight(): "48px" | "72px";
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcTabsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcTabsComponent, "dxc-tabs", never, { "activeTabIndex": "activeTabIndex"; "iconPosition": "iconPosition"; "margin": "margin"; }, {}, ["tabs"], ["*"]>;
}
export {};
//# sourceMappingURL=dxc-tabs.component.d.ts.map