/*---------------------------------------------------------------------------------------------
 *  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 '@sussudio/base/common/event.mjs';
import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { IServerChannel } from '@sussudio/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;
}
