/**
 *              Copyright (c) 2025 Visa, Inc.
 *
 * 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 { BooleanInput } from '@angular/cdk/coercion';
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, QueryList } from '@angular/core';
import { ButtonDirective } from '../button/button.directive';
import { NovaLibService } from '../nova-lib.service';
import { TabItemDirective } from '../tab-item/tab-item.directive';
import * as i0 from "@angular/core";
export declare class TabListDirective implements AfterContentInit {
    private novaLibService;
    private cdRef;
    private el;
    tabLists: QueryList<TabListDirective>;
    tabs: QueryList<TabItemDirective>;
    buttons: QueryList<ButtonDirective>;
    _roleSetByUser: boolean;
    clickSubscriptions: any[];
    activeSubscriptions: any[];
    _nestedTabs: boolean;
    _inNav: boolean;
    /**
     * Provides custom class&#40;es&#41; for custom styling.
     * @default .v-tabs.v-tabs-&lt;orientation&gt;
     */
    get class(): string;
    set class(value: string);
    _class: string;
    get hostClass(): string;
    /**
     * Sets tab list to vertical orientation when true.
     * @default false
     */
    get vertical(): BooleanInput;
    set vertical(value: BooleanInput);
    _vertical: BooleanInput;
    get hostOrientation(): string | void;
    /**
     * Sets custom role.
     * @default 'tablist'
     * @default null if nested tab list or within Navigation.
     * @builtin true
     */
    get role(): string | null;
    set role(value: string | null);
    _role: string | null;
    get hostRole(): string | null;
    /**
     * Emits selected tab index when new tab is selected.
     */
    activeTabIndex: EventEmitter<number>;
    constructor(novaLibService: NovaLibService, cdRef: ChangeDetectorRef, el: ElementRef);
    ngAfterContentInit(): void;
    setUpNestedTabs(): void;
    setUpTabs(): void;
    setUpFocusListener(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabListDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabListDirective, "[v-tabs]", never, { "class": { "alias": "class"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "activeTabIndex": "activeTabIndex"; }, ["tabLists", "tabs", "buttons"], never, true, never>;
}
