import { Type } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { SdTab } from '../models/tab-router.model';
import { SdTabAction } from '../actions/tab-router.action';
import { SdTabEvent } from '../events/tab-router.event';
import { SdNotifyService } from '@sd-angular/core/notify';
import { SdTabComponentBuilder } from '../decorators/tab.decorator';
export declare class SdTabRouterService {
    #private;
    private notifyService;
    events: BehaviorSubject<SdTabEvent>;
    actions: BehaviorSubject<SdTabAction>;
    builders: BehaviorSubject<SdTabComponentBuilder[]>;
    currentTabChanges: BehaviorSubject<SdTab>;
    newTabs: BehaviorSubject<SdTab>;
    constructor(notifyService: SdNotifyService);
    addBuilder: (builder: SdTabComponentBuilder) => void;
    get currentTab(): SdTab;
    get key(): string;
    setCurrentTab: (tab: SdTab) => void;
    pushEvent: (tab: SdTab, Event: Type<SdTabEvent>) => void;
    setOptions: () => void;
    close: (tab?: SdTab) => void;
}
