/**
 *
 * carbon-angular v0.0.0 | tabs.component.d.ts
 *
 * Copyright 2014, 2026 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { EventEmitter, QueryList, AfterContentInit, OnChanges, SimpleChanges } from "@angular/core";
import { Tab } from "./tab.component";
import * as i0 from "@angular/core";
/**
 * Build out your application's tabs using this component.
 * This is the parent of the `Tab` and `TabHeader` components.
 *
 * [See demo](../../?path=/story/components-tabs--basic)
 *
 * `Tabs` expects a set of `n-tab` elements
 *
 * ```html
 * <cds-tabs>
 * 	<cds-tab heading='tab1'>
 * 		tab 1 content
 * 	</cds-tab>
 * 	<cds-tab heading='tab1'>
 * 		tab 2 content
 * 	</cds-tab>
 * 	<!-- ... -->
 * 	<cds-tab heading='tab1'>
 * 		tab n content
 * 	</cds-tab>
 * </cds-tabs>
 * ```
 */
export declare class Tabs implements AfterContentInit, OnChanges {
    /**
     * Takes either `top` or `bottom` to place `TabHeader` relative to the tab panels.
     */
    position: "top" | "bottom";
    /**
     * Set to `true` to have `Tab` items cached and not reloaded on tab switching.
     */
    cacheActive: boolean;
    /**
     * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.
     */
    followFocus: boolean;
    /**
     * When `true`, sets each tab panel `tabindex` to `-1` for navigation-style usage.
     */
    isNavigation: boolean;
    /**
     * Sets the aria label on the `TabHeader`s nav element.
     */
    ariaLabel: string;
    /**
     * Sets the aria labelledby on the `TabHeader`s nav element.
     */
    ariaLabelledby: string;
    /**
     * Visual style of the tab headers: `line` or `contained`.
     */
    type: "line" | "contained";
    /**
     * Theme for tab headers: `light` or `dark`.
     */
    theme: "light" | "dark";
    /**
     * When `true`, renders the tabs skeleton loading state.
     */
    skeleton: boolean;
    /**
     * When using icon-only tabs, icon size: `default` (16px) or `lg` (20px).
     */
    iconSize: "default" | "lg";
    /**
     * Evenly sized tabs across the row (contained, fewer than 9 tabs).
     */
    fullWidth: boolean;
    /**
     * Show a close control on each tab.
     */
    dismissable: boolean;
    /**
     * Scroll the active tab into view on focus/select.
     */
    scrollIntoView: boolean;
    /**
     * Debounce (ms) for tab list scroll events; affects overflow chevron updates.
     */
    scrollDebounceWait: number;
    /**
     * Emits when a tab close control is used (with `dismissable`).
     * The emitted value is the tab index.
     */
    tabClose: EventEmitter<number>;
    /**
     * Maintains a `QueryList` of the `Tab` elements and updates if `Tab`s are added or removed.
     */
    tabs: QueryList<Tab>;
    /**
     * Content child of the projected header component
     */
    tabHeaders: any;
    /**
     * After content is initialized update `Tab`s to cache (if turned on) and set the initial
     * selected Tab item.
     */
    ngAfterContentInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * true if the cds-tab's are passed directly to the component as children
     */
    hasTabHeaders(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<Tabs, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Tabs, "cds-tabs, ibm-tabs", never, { "position": "position"; "cacheActive": "cacheActive"; "followFocus": "followFocus"; "isNavigation": "isNavigation"; "ariaLabel": "ariaLabel"; "ariaLabelledby": "ariaLabelledby"; "type": "type"; "theme": "theme"; "skeleton": "skeleton"; "iconSize": "iconSize"; "fullWidth": "fullWidth"; "dismissable": "dismissable"; "scrollIntoView": "scrollIntoView"; "scrollDebounceWait": "scrollDebounceWait"; }, { "tabClose": "tabClose"; }, ["tabHeaders", "tabs"], ["*", "[before]", "[after]"], false>;
}
