import { ProjectContainer, ProjectContainerFactory } from './ProjectContainer'; import { DatabaseContext, ProjectManager, ProjectWithSecrets } from '@contember/engine-tenant-api'; import { ProjectConfigResolver } from '../config/projectConfigResolver'; import { TenantConfig } from '../config/config'; import { Logger } from '@contember/logger'; import { EventEmitter } from '@contember/engine-common'; export type ProjectContainerResolverEvents = { create: (args: { container: ProjectContainer; }) => (() => void) | void; destroy: (args: { container: ProjectContainer; }) => void; }; export declare class ProjectContainerResolver implements EventEmitter { private readonly projectContainerFactory; private readonly projectConfigResolver; private readonly projectManager; private readonly tenantDatabase; private readonly tenantConfig; private projectContainers; private eventManager; readonly on: (event: K, cb: ProjectContainerResolverEvents[K]) => import("@contember/engine-common").EventUnlisten; constructor(projectContainerFactory: ProjectContainerFactory, projectConfigResolver: ProjectConfigResolver, projectManager: ProjectManager, tenantDatabase: DatabaseContext, tenantConfig: TenantConfig); getProjectContainer(slug: string, { alias }?: { alias?: boolean; }): Promise; createProjectContainer(project: ProjectWithSecrets, logger?: Logger): Promise; destroyContainer(slug: string): Promise; } //# sourceMappingURL=ProjectContainerResolver.d.ts.map