import { OnChanges, OnDestroy, OnInit } from '@angular/core';
import { ComponentChanges } from '@bimeister/pupakit.common';
import { Nullable } from '@bimeister/utilities';
import { Observable } from 'rxjs';
import { TabsServiceBase } from './tabs-service-base.abstract';
import * as i0 from "@angular/core";
export declare abstract class TabsItemBase<T, S extends TabsServiceBase<T>> implements OnChanges, OnInit, OnDestroy {
    private readonly tabsService;
    private readonly containerService?;
    abstract name: T;
    abstract isActive: Nullable<boolean>;
    abstract disabled: Nullable<boolean>;
    protected readonly stateService: S;
    readonly isActive$: Observable<boolean>;
    readonly isContentDragging$: Observable<boolean>;
    constructor(tabsService: S, containerService?: S);
    ngOnChanges(changes: ComponentChanges<this>): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    setAsActive(): void;
    private processInputIsActiveChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabsItemBase<any, any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabsItemBase<any, any>, never, never, {}, {}, never, never, false>;
}
