import { IGitManager } from "@fluidframework/server-services-client" ; export interface ITenantConfig { id : string ; storage : ITenantStorage ; orderer : ITenantOrderer ; customData : ITenantCustomData ; scheduledDeletionTime ? : string ; } export interface ITenantStorage { historianUrl : string ; internalHistorianUrl : string ; url : string ; owner : string ; repository : string ; credentials : { user : string ; password : string ; } ; } export interface ITenantOrderer { url : string ; type : string ; } export interface ITenantCustomData { [ key ] : any ; } export interface ITenant { gitManager : IGitManager ; storage : ITenantStorage ; orderer : ITenantOrderer ; } export interface ITenantManager { /**
     * Creates a new tenant with the given id, or a randomly generated id when none is provided.
     */ createTenant ( tenantId ? ) : Promise < ITenantConfig & { key : string ; } > ; /**
     * Retrieves details for the given tenant
     */ getTenant ( tenantId , documentId ) : Promise < ITenant > ; /**
     * Verifies that the given auth token is valid. A rejected promise indicates an invalid token.
     */ verifyToken ( tenantId , token ) : Promise < void > ; /**
     * Retrieves the key for the given tenant. This is a privileged op and should be used with care.
     */ getKey ( tenantId ) : Promise < string > ; }