import type { FSDBRepository } from '@becomes/purple-cheetah-mod-fsdb/types'; import type { MongoDBRepository } from '@becomes/purple-cheetah-mod-mongodb/types'; import type { Module } from '@becomes/purple-cheetah/types'; import { Instance, InstanceLicenseType } from '../models'; export interface InstanceRepoMethods { findAllByUserId(userId: string): Promise; findAllByType(type: InstanceLicenseType): Promise; findByCheckoutHash(hash: string): Promise; findByOrgIdAndNameEncoded(orgId: string, nameEncoded: string): Promise; findByIdAndOrgId(id: string, orgId: string): Promise; updateViaShim(instance: Instance): Promise; findAllByOrgIdAndLicenseType(orgId: string, licenseType: InstanceLicenseType): Promise; findAllByOrgId(orgId: string): Promise; } export type InstanceRepo = MongoDBRepository | FSDBRepository; export declare function createInstanceRepo(): Module;