/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { Event } from "../../../base/common/event.mjs";
import { Disposable } from "../../../base/common/lifecycle.mjs";
import { IServerChannel } from "../../../base/parts/ipc/common/ipc.mjs";
import { ILogService } from "../../log/common/log.mjs";
import { IBaseSerializableStorageRequest } from "../common/storageIpc.mjs";
import { IStorageMainService } from "./storageMainService.mjs";
export declare class StorageDatabaseChannel extends Disposable implements IServerChannel {
    private readonly logService;
    private readonly storageMainService;
    private static readonly STORAGE_CHANGE_DEBOUNCE_TIME;
    private readonly onDidChangeApplicationStorageEmitter;
    private readonly mapProfileToOnDidChangeProfileStorageEmitter;
    constructor(logService: ILogService, storageMainService: IStorageMainService);
    private registerStorageChangeListeners;
    private serializeStorageChangeEvents;
    listen(_: unknown, event: string, arg: IBaseSerializableStorageRequest): Event<any>;
    call(_: unknown, command: string, arg: IBaseSerializableStorageRequest): Promise<any>;
    private withStorageInitialized;
}
