import { CustomResource } from "aws-cdk-lib";
import { Construct } from "constructs";
import { User, Group, ServicePrincipal } from "./models";
export declare enum ExperimentPermissionLevel {
    "CAN_READ" = 0,
    "CAN_EDIT" = 1,
    "CAN_MANAGE" = 2
}
export interface UserExperimentPermission extends User {
    permission_level: ExperimentPermissionLevel;
}
export interface GroupExperimentPermission extends Group {
    permission_level: ExperimentPermissionLevel;
}
export interface ServicePrinicpalExperimentPermission extends ServicePrincipal {
    permission_level: ExperimentPermissionLevel;
}
export interface ExperimentPermissionsProperties {
    workspaceUrl: string;
    experimentId: string;
    accessControlList: Array<UserExperimentPermission | GroupExperimentPermission | ServicePrinicpalExperimentPermission>;
}
export interface ExperimentPermissionsProps extends ExperimentPermissionsProperties {
    readonly serviceToken: string;
}
export declare class ExperimentPermissions extends CustomResource {
    constructor(scope: Construct, id: string, props: ExperimentPermissionsProps);
}
