/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { IConfigurationService } from '../../configuration/common/configuration.mjs';
import { IEnvironmentService } from '../../environment/common/environment.mjs';
import { IFileService } from '../../files/common/files.mjs';
import { IUserDataProfile, IUserDataProfilesService } from '../../userDataProfile/common/userDataProfile.mjs';
import {
	IResourceRefHandle,
	IUserDataSyncBackupStoreService,
	IUserDataSyncLogService,
	SyncResource,
} from './userDataSync.mjs';
export declare class UserDataSyncBackupStoreService extends Disposable implements IUserDataSyncBackupStoreService {
	private readonly environmentService;
	private readonly fileService;
	private readonly configurationService;
	private readonly logService;
	private readonly userDataProfilesService;
	_serviceBrand: any;
	constructor(
		environmentService: IEnvironmentService,
		fileService: IFileService,
		configurationService: IConfigurationService,
		logService: IUserDataSyncLogService,
		userDataProfilesService: IUserDataProfilesService,
	);
	private cleanUp;
	getAllRefs(profile: IUserDataProfile, resource: SyncResource): Promise<IResourceRefHandle[]>;
	resolveContent(profile: IUserDataProfile, resourceKey: SyncResource, ref: string): Promise<string | null>;
	backup(profile: IUserDataProfile, resourceKey: SyncResource, content: string): Promise<void>;
	private getResourceBackupHome;
	private cleanUpBackup;
	private getCreationTime;
}
