/**
 *
 * 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 { 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 the string value 'top' or 'bottom' to place TabHeader
     * relative to the `TabPanel`s.
     */
    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;
    /**
     * Set to `true` to have the tabIndex of the all tabpanels be -1.
     */
    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;
    /**
     * Sets the type of the `TabHeader`s
     */
    type: "line" | "contained";
    /**
     * Sets the theme of `TabHeader`s
     */
    theme: "light" | "dark";
    /**
     * Set state of tabs to skeleton
     */
    skeleton: boolean;
    /**
     * 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 n-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"; }, {}, ["tabHeaders", "tabs"], ["*", "[before]", "[after]"], false>;
}
