import type { CollectionsOfDatabase, InternalStoreCollectionDocType, InternalStoreDocType, InternalStoreStorageTokenDocType, RxCollection, RxDatabase, RxDocumentData, RxJsonSchema, RxStorageInstance, RxStorageStatics } from './types'; export declare const INTERNAL_CONTEXT_COLLECTION = "collection"; export declare const INTERNAL_CONTEXT_STORAGE_TOKEN = "storage-token"; /** * Do not change the title, * we have to flag the internal schema so that * some RxStorage implementations are able * to detect if the created RxStorageInstance * is from the internals or not, * to do some optimizations in some cases. */ export declare const INTERNAL_STORE_SCHEMA_TITLE = "RxInternalDocument"; export declare const INTERNAL_STORE_SCHEMA: RxJsonSchema>>; export declare function getPrimaryKeyOfInternalDocument(key: string, context: string): string; /** * Returns all internal documents * with context 'collection' */ export declare function getAllCollectionDocuments(storageStatics: RxStorageStatics, storageInstance: RxStorageInstance, any, any>): Promise[]>; /** * to not confuse multiInstance-messages with other databases that have the same * name and adapter, but do not share state with this one (for example in-memory-instances), * we set a storage-token and use it in the broadcast-channel */ export declare const STORAGE_TOKEN_DOCUMENT_KEY = "storageToken"; export declare const STORAGE_TOKEN_DOCUMENT_ID: string; export declare function ensureStorageTokenDocumentExists(rxDatabase: RxDatabase): Promise>; export declare function addConnectedStorageToCollection(collection: RxCollection, storageCollectionName: string, schema: RxJsonSchema): Promise; /** * returns the primary for a given collection-data * used in the internal store of a RxDatabase */ export declare function _collectionNamePrimary(name: string, schema: RxJsonSchema): string;