import { Result } from "@webiny/feature/api"; import { EventPublisher } from "../../../features/eventPublisher/index.js"; import { InstallSystemUseCase as UseCaseAbstraction } from "./abstractions.js"; import { InstallTenantUseCase } from "../../../features/tenancy/InstallTenant/index.js"; import { GetRootTenantUseCase } from "../../../features/tenancy/GetRootTenant/index.js"; import { CreateTenantUseCase } from "../../../features/tenancy/CreateTenant/index.js"; import { DeleteTenantUseCase } from "../../../features/tenancy/DeleteTenant/index.js"; import { TenantContext } from "../../../features/tenancy/TenantContext/index.js"; import { IdentityContext } from "../../../features/security/IdentityContext/index.js"; import type { InstallSystemInput } from "./abstractions.js"; import { SystemAlreadyInstalledError } from "./errors.js"; declare class InstallSystemUseCaseImpl implements UseCaseAbstraction.Interface { private identityContext; private tenantContext; private eventPublisher; private installTenantUseCase; private getRootTenantUseCase; private createTenantUseCase; private deleteTenantUseCase; constructor(identityContext: IdentityContext.Interface, tenantContext: TenantContext.Interface, eventPublisher: EventPublisher.Interface, installTenantUseCase: InstallTenantUseCase.Interface, getRootTenantUseCase: GetRootTenantUseCase.Interface, createTenantUseCase: CreateTenantUseCase.Interface, deleteTenantUseCase: DeleteTenantUseCase.Interface); execute(installationInput: InstallSystemInput): Promise | Result | Result | Result>; } export declare const InstallSystemUseCase: import("@webiny/di").Implementation; export {};