import { ContainerEngine } from '../../ContainerEngine.js';
import { FileId } from '../../model/model.js';
import { GoogleFile } from '../../model/GoogleFile.js';
import { FileContentService } from '../../utils/FileContentService.js';
export interface Socket {
    send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;
    addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: Socket, ev: WebSocketEventMap[K]) => any): void;
}
export declare class SocketManager<SK extends Socket> {
    private engine;
    socketsMap: {
        [driveId: string]: Set<SK>;
    };
    private fileService;
    constructor(engine: ContainerEngine);
    mount(fileService: FileContentService): Promise<void>;
    addSocketConnection(ws: SK, driveId: string): Promise<void>;
    private onToastsAdded;
    private onJobsChanged;
    getFilteredChanges(driveId: FileId, changes: GoogleFile[]): Promise<GoogleFile[]>;
    private onChangesChanged;
}
//# sourceMappingURL=SocketManager.d.ts.map