import { ApplicationRef, Injector } from '@angular/core';
import * as i0 from "@angular/core";
export interface DockItem {
    windowId: string;
    title: string;
    icon?: string;
    iconUrl?: string;
    restoreCallback: () => void;
    progress?: number;
}
export declare class WindowDockComponent {
    dockItems: DockItem[];
    addItem(item: DockItem): void;
    removeItem(windowId: string): void;
    restoreWindow(item: DockItem): void;
    getTruncatedTitle(title: string): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<WindowDockComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WindowDockComponent, "mj-window-dock", never, {}, {}, never, never, true, never>;
}
export declare class WindowDockService {
    private appRef;
    private injector;
    private dockComponent?;
    constructor(appRef: ApplicationRef, injector: Injector);
    private ensureDockExists;
    addWindow(windowId: string, title: string, icon?: string, restoreCallback?: () => void, iconUrl?: string, progress?: number): void;
    removeWindow(windowId: string): void;
    updateWindowProgress(windowId: string, progress: number | undefined): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WindowDockService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<WindowDockService>;
}
//# sourceMappingURL=window-dock.service.d.ts.map