import { NgDocContent } from '@ng-doc/ui-kit/types';
import * as i0 from '@angular/core';
import { AfterContentInit, AfterViewInit, QueryList, ElementRef } from '@angular/core';

declare class NgDocTabComponent<T> {
    label: NgDocContent;
    id: T | number;
    /** Expander content */
    content: NgDocContent;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDocTabComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgDocTabComponent<any>, "ng-doc-tab, a[ng-doc-tab]", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
}

declare class NgDocTabGroupComponent<T = number> implements AfterContentInit, AfterViewInit {
    private readonly changeDetectorRef;
    openedTab: T;
    tabElements: QueryList<ElementRef>;
    tabs: QueryList<NgDocTabComponent<T>>;
    selectedTab?: NgDocTabComponent<T>;
    private readonly destroyRef;
    constructor();
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    get selectedIndex(): number;
    get selectedHeaderTab(): ElementRef | null;
    selectTab(tab: NgDocTabComponent<T>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDocTabGroupComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgDocTabGroupComponent<any>, "ng-doc-tab-group", never, { "openedTab": { "alias": "openedTab"; "required": false; }; }, {}, ["tabs"], never, true, never>;
}

export { NgDocTabComponent, NgDocTabGroupComponent };
