import { ProjectEnvTypeConfigPlugin, ListProjectEnvTypeConfigsRequest, AssociateProjectEnvTypeConfigRequest, DisassociateProjectEnvTypeConfigRequest, GetProjectEnvTypeConfigRequest, ListEnvTypeConfigProjectsRequest, Project } from '@aws/swb-app';
import { ProjectService } from '@aws/workbench-core-accounts';
import { DynamicAuthorizationService } from '@aws/workbench-core-authorization';
import { MetadataService } from '@aws/workbench-core-base';
import { EnvironmentTypeConfigService, EnvironmentTypeService, EnvironmentTypeConfig, EnvironmentService } from '@aws/workbench-core-environments';
export declare class ProjectEnvTypeConfigService implements ProjectEnvTypeConfigPlugin {
    private _metadataService;
    private _projectService;
    private _environmentService;
    private _envTypeConfigService;
    private _envTypeService;
    private _dynamicAuthService;
    private _identityPermissionTemplate;
    constructor(metadataService: MetadataService, projectService: ProjectService, envTypeConfigService: EnvironmentTypeConfigService, envTypeService: EnvironmentTypeService, environmentService: EnvironmentService, dynamicAuthService: DynamicAuthorizationService);
    associateProjectWithEnvTypeConfig(request: AssociateProjectEnvTypeConfigRequest): Promise<void>;
    disassociateProjectAndEnvTypeConfig(request: DisassociateProjectEnvTypeConfigRequest): Promise<void>;
    listProjectEnvTypeConfigs(request: ListProjectEnvTypeConfigsRequest): Promise<{
        data: EnvironmentTypeConfig[];
        paginationToken: string | undefined;
    }>;
    listEnvTypeConfigProjects(request: ListEnvTypeConfigProjectsRequest): Promise<{
        data: Project[];
        paginationToken: string | undefined;
    }>;
    getEnvTypeConfig(request: GetProjectEnvTypeConfigRequest): Promise<EnvironmentTypeConfig | undefined>;
    private _addAuthZPermissionsForETC;
    private _removeAuthZPermissionsForETC;
    private _validateActiveEnvironments;
}
//# sourceMappingURL=projectEnvTypeConfigService.d.ts.map