/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { type IDataStore, type IFluidDataStoreChannel } from "@fluidframework/runtime-definitions/internal";
import { type ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
import type { ChannelCollection } from "./channelCollection.js";
/**
 * Interface for an op to be used for assigning an
 * alias to a datastore
 * @internal
 * @privateRemarks exported per ContainerRuntime export for testing purposes
 */
export interface IDataStoreAliasMessage {
    /**
     * The internal id of the datastore
     */
    readonly internalId: string;
    /**
     * The alias name to be assigned to the datastore
     */
    readonly alias: string;
}
/**
 * Type guard that returns true if the given alias message is actually an instance of
 * a class which implements {@link IDataStoreAliasMessage}
 * @param maybeDataStoreAliasMessage - message object to be validated
 * @returns True if the {@link IDataStoreAliasMessage} is fully implemented, false otherwise
 */
export declare const isDataStoreAliasMessage: (maybeDataStoreAliasMessage: unknown) => maybeDataStoreAliasMessage is IDataStoreAliasMessage;
export declare const channelToDataStore: (fluidDataStoreChannel: IFluidDataStoreChannel, internalId: string, channelCollection: ChannelCollection, logger: ITelemetryLoggerExt) => IDataStore;
//# sourceMappingURL=dataStore.d.ts.map