export type CollectionMetadata = Readonly>; export type CollectionHooks = Readonly>; export interface CollectionDefinition { id: string; mount: string; metadata?: CollectionMetadata; hooks?: CollectionHooks; createHandle?: (context: MountedCollectionContext) => THandle; } export interface CollectionRegistry { list(): readonly CollectionDefinition[]; get(collectionId: string): CollectionDefinition | undefined; require(collectionId: string): CollectionDefinition; } export interface MountedCollectionContext { storeRoot: string; collectionId: string; mount: string; mountRoot: string; resolvePath(relativePath?: string): string; toStorePath(relativePath?: string): string; } export interface MountedCollection { collectionId: string; mount: string; mountRoot: string; context: MountedCollectionContext; handle: THandle | undefined; resolvePath(relativePath?: string): string; toStorePath(relativePath?: string): string; } export interface MountedCollectionRegistry { list(): readonly MountedCollection[]; get(collectionId: string): MountedCollection | undefined; require(collectionId: string): MountedCollection; } export interface MountCollectionsInput { storeRoot: string; collections: CollectionRegistry; } export declare function validateCollectionId(id: string): string; export declare function validateMount(mount: string): string; export declare function parseCollectionPath(input?: string): string; export declare function createCollectionRegistry(definitions: readonly CollectionDefinition[]): CollectionRegistry; export declare function mountCollections(input: MountCollectionsInput): MountedCollectionRegistry; //# sourceMappingURL=runtime.d.ts.map