import { Observable } from 'rxjs';
import { EvoAbstractPortal } from '../evo-portal';
import { EvoSidebarState, EvoSidebarConfig, EvoSidebarParams, EvoOpenedSidebarActions } from './interfaces';
import * as i0 from "@angular/core";
export declare class EvoSidebarService {
    private portal;
    private _config;
    private sidebarEvents$;
    private registeredSidebars;
    private config;
    constructor(portal: EvoAbstractPortal, // EvoSidebarPortal provided
    _config: EvoSidebarConfig);
    deregister(id: string): void;
    register(id: string): void;
    open(params: EvoSidebarParams): EvoOpenedSidebarActions;
    open(id: string, params?: EvoSidebarParams): EvoOpenedSidebarActions;
    openWithDefaultHost(params: EvoSidebarParams): void;
    close(params?: EvoSidebarParams): void;
    close(id: string, params?: EvoSidebarParams): void;
    closeWithDefaultHost(params?: EvoSidebarParams): void;
    getEventsSubscription(id: string, immediate?: boolean): Observable<EvoSidebarState>;
    cleanupDefaultHost(): void;
    getOpenedSidebarActions(id: string): EvoOpenedSidebarActions;
    static ɵfac: i0.ɵɵFactoryDeclaration<EvoSidebarService, [null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EvoSidebarService>;
}
