import React from 'react';
import type { ConnectionStorage } from '@mongodb-js/connection-storage/provider';
type ElectableSpecs = {
    instanceSize?: string;
};
type RegionConfig = {
    priority: number;
    electableSpecs: ElectableSpecs;
};
type ReplicationSpec = {
    regionConfigs: RegionConfig[];
};
type ClusterDescription = {
    '@provider': string;
    uniqueId: string;
    groupId: string;
    name: string;
    clusterType: string;
    srvAddress: string;
    state: string;
    deploymentItemName: string;
    replicationSpecList?: ReplicationSpec[];
};
export type ClusterDescriptionWithDataProcessingRegion = ClusterDescription & {
    dataProcessingRegion: {
        regionalUrl: string;
    };
};
type ReplicaSetDeploymentItem = {
    _id: string;
    state: {
        clusterId: string;
    };
};
type ShardingDeploymentItem = {
    name: string;
    state: {
        clusterId: string;
    };
};
type Deployment = {
    replicaSets?: ReplicaSetDeploymentItem[];
    sharding?: ShardingDeploymentItem[];
};
export declare function buildConnectionInfoFromClusterDescription(driverProxyEndpoint: string, orgId: string, projectId: string, description: ClusterDescriptionWithDataProcessingRegion, deployment: Deployment): {
    id: string;
    connectionOptions: {
        connectionString: string;
        lookup: () => {
            wsURL: string;
            projectId: string;
            clusterName: string;
            srvAddress: string;
        };
    };
    atlasMetadata: {
        instanceSize: string | undefined;
        clusterId: string;
        clusterType: "serverless" | "replicaSet" | "cluster";
        orgId: string;
        projectId: string;
        clusterName: string;
        regionalBaseUrl: string;
    };
};
export declare const SandboxConnectionStorageProviver: React.Provider<ConnectionStorage | null>;
export declare const AtlasCloudConnectionStorageProvider: ({ orgId, projectId, children, }: {
    orgId: string;
    projectId: string;
    children: React.ReactChild;
}) => JSX.Element;
export {};
//# sourceMappingURL=connection-storage.d.ts.map