/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { FetchSource, ICreateBlobResponse, IDocumentStorageServicePolicies, ISnapshot, ISnapshotFetchOptions, ISnapshotTree, ISummaryContext, ISummaryHandle, ISummaryTree, IVersion } from "@fluidframework/driver-definitions/internal";
import type { IRuntimeStorageService } from "@fluidframework/runtime-definitions/internal";
/**
 * IRuntimeStorageService proxy which intercepts requests if they can be satisfied by the blobs received in the
 * attach message. We use this to avoid an unnecessary request to the storage service.
 */
export declare class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
    private readonly internalStorageService;
    private readonly attachBlobs;
    constructor(internalStorageService: IRuntimeStorageService, attachBlobs: Map<string, ArrayBufferLike>);
    /**
     * {@link IRuntimeStorageService.policies}.
     * @deprecated - This will be removed in a future release. The DataStore layer does not need this.
     */
    get policies(): IDocumentStorageServicePolicies | undefined;
    readBlob(id: string): Promise<ArrayBufferLike>;
    /**
     * {@link IRuntimeStorageService.getSnapshotTree}.
     * @deprecated - This will be removed in a future release. The DataStore layer does not need this.
     */
    getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;
    /**
     * {@link IRuntimeStorageService.getSnapshot}.
     * @deprecated - This will be removed in a future release. The DataStore layer does not need this.
     */
    getSnapshot(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;
    /**
     * {@link IRuntimeStorageService.getVersions}.
     * @deprecated - This will be removed in a future release. The DataStore layer does not need this.
     */
    getVersions(versionId: string | null, count: number, scenarioName?: string, fetchSource?: FetchSource): Promise<IVersion[]>;
    /**
     * {@link IRuntimeStorageService.uploadSummaryWithContext}.
     * @deprecated - This will be removed in a future release. The DataStore layer does not need this.
     */
    uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;
    /**
     * {@link IRuntimeStorageService.createBlob}.
     * @deprecated - This will be removed in a future release. The DataStore layer does not need this.
     */
    createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;
    /**
     * {@link IRuntimeStorageService.downloadSummary}.
     * @deprecated - This will be removed in a future release. The DataStore layer does not need this.
     */
    downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;
}
//# sourceMappingURL=storageServiceWithAttachBlobs.d.ts.map