/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { IStringDictionary } from "../../../base/common/collections.mjs";
import { Event } from "../../../base/common/event.mjs";
import { FormattingOptions } from "../../../base/common/jsonFormatter.mjs";
import { Disposable } from "../../../base/common/lifecycle.mjs";
import { URI } from "../../../base/common/uri.mjs";
import { IChannel, IServerChannel } from "../../../base/parts/ipc/common/ipc.mjs";
import { IUserDataAutoSyncService, IUserDataSyncStore, IUserDataSyncStoreManagementService, IUserDataSyncUtilService, UserDataSyncStoreType } from "./userDataSync.mjs";
import { IUserDataSyncAccountService } from "./userDataSyncAccount.mjs";
import { IUserDataSyncMachinesService } from "./userDataSyncMachines.mjs";
export declare class UserDataAutoSyncChannel implements IServerChannel {
    private readonly service;
    constructor(service: IUserDataAutoSyncService);
    listen(_: unknown, event: string): Event<any>;
    call(context: any, command: string, args?: any): Promise<any>;
}
export declare class UserDataSycnUtilServiceChannel implements IServerChannel {
    private readonly service;
    constructor(service: IUserDataSyncUtilService);
    listen(_: unknown, event: string): Event<any>;
    call(context: any, command: string, args?: any): Promise<any>;
}
export declare class UserDataSyncUtilServiceClient implements IUserDataSyncUtilService {
    private readonly channel;
    readonly _serviceBrand: undefined;
    constructor(channel: IChannel);
    resolveDefaultIgnoredSettings(): Promise<string[]>;
    resolveUserBindings(userbindings: string[]): Promise<IStringDictionary<string>>;
    resolveFormattingOptions(file: URI): Promise<FormattingOptions>;
}
export declare class UserDataSyncMachinesServiceChannel implements IServerChannel {
    private readonly service;
    constructor(service: IUserDataSyncMachinesService);
    listen(_: unknown, event: string): Event<any>;
    call(context: any, command: string, args?: any): Promise<any>;
}
export declare class UserDataSyncAccountServiceChannel implements IServerChannel {
    private readonly service;
    constructor(service: IUserDataSyncAccountService);
    listen(_: unknown, event: string): Event<any>;
    call(context: any, command: string, args?: any): Promise<any>;
}
export declare class UserDataSyncStoreManagementServiceChannel implements IServerChannel {
    private readonly service;
    constructor(service: IUserDataSyncStoreManagementService);
    listen(_: unknown, event: string): Event<any>;
    call(context: any, command: string, args?: any): Promise<any>;
}
export declare class UserDataSyncStoreManagementServiceChannelClient extends Disposable {
    private readonly channel;
    readonly onDidChangeUserDataSyncStore: Event<void>;
    constructor(channel: IChannel);
    switch(type: UserDataSyncStoreType): Promise<void>;
    getPreviousUserDataSyncStore(): Promise<IUserDataSyncStore>;
    private revive;
}
