import { ProjectEnvPlugin, EnvironmentItem } from '@aws/swb-app';
import { ProjectService } from '@aws/workbench-core-accounts';
import { AuthenticatedUser, DynamicAuthorizationService } from '@aws/workbench-core-authorization';
import { PaginatedResponse } from '@aws/workbench-core-base';
import { Environment, EnvironmentService } from '@aws/workbench-core-environments';
export declare class ProjectEnvService implements ProjectEnvPlugin {
    private _dynamicAuthorizationService;
    private _envService;
    private _projectService;
    constructor(dynamicAuthorizationService: DynamicAuthorizationService, envService: EnvironmentService, projectService: ProjectService);
    createEnvironment(params: {
        description: string;
        name: string;
        projectId: string;
        datasetIds: string[];
        envTypeId: string;
        envTypeConfigId: string;
    }, authenticatedUser: AuthenticatedUser): Promise<Environment>;
    getEnvironment(projectId: string, envId: string, includeMetadata?: boolean): Promise<Environment>;
    listProjectEnvs(projectId: string, pageSize?: number, paginationToken?: string): Promise<PaginatedResponse<EnvironmentItem>>;
    updateEnvironment(projectId: string, envId: string, updatedValues: {
        [key: string]: string | {
            type: string;
            value: string;
        } | {
            id: string;
            value: string;
            description: string;
        }[];
    }): Promise<Environment>;
    private _addAuthZPermissionsForEnv;
}
//# sourceMappingURL=projectEnvService.d.ts.map