import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1JWTToken } from "./JWTToken.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ProjectRole represents a role that has access to a project
 */
export interface IProjectRole {
    /**
     * Description is a description of the role
     */
    "description"?: string;
    /**
     * Groups are a list of OIDC group claims bound to this role
     */
    "groups"?: Array<string>;
    /**
     * JWTTokens are a list of generated JWT tokens bound to this role
     */
    "jwtTokens"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1JWTToken>;
    /**
     * Name is a name for this role
     */
    "name": string;
    /**
     * Policies Stores a list of casbin formatted strings that define access policies for the role in the project
     */
    "policies"?: Array<string>;
}
/**
 * ProjectRole represents a role that has access to a project
 */
export declare class ProjectRole extends Model<IProjectRole> implements IProjectRole {
    "description"?: string;
    "groups"?: Array<string>;
    "jwtTokens"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1JWTToken>;
    "name": string;
    "policies"?: Array<string>;
    constructor(data?: ModelData<IProjectRole>);
}
export type { IProjectRole as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ProjectRole, ProjectRole as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ProjectRole };
