import { IIoK8sApimachineryPkgApisMetaV1ObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectSpec } from "./AppProjectSpec.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectStatus } from "./AppProjectStatus.js";
import { ModelData, TypeMeta, Model } from "@kubernetes-models/base";
/**
 * AppProject provides a logical grouping of applications, providing controls for:
 * \* where the apps may deploy to (cluster whitelist)
 * \* what may be deployed (repository whitelist, resource whitelist/blacklist)
 * \* who can access these applications (roles, OIDC group claims bindings)
 * \* and what they can do (RBAC policies)
 * \* automation access to these roles (JWT tokens)
 */
export interface IAppProject extends TypeMeta {
    "apiVersion": "argoproj.io/v1alpha1";
    "kind": "AppProject";
    "metadata": IIoK8sApimachineryPkgApisMetaV1ObjectMeta;
    "spec": IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectSpec;
    "status"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectStatus;
}
/**
 * AppProject provides a logical grouping of applications, providing controls for:
 * \* where the apps may deploy to (cluster whitelist)
 * \* what may be deployed (repository whitelist, resource whitelist/blacklist)
 * \* who can access these applications (roles, OIDC group claims bindings)
 * \* and what they can do (RBAC policies)
 * \* automation access to these roles (JWT tokens)
 */
export declare class AppProject extends Model<IAppProject> implements IAppProject {
    "apiVersion": "argoproj.io/v1alpha1";
    "kind": "AppProject";
    "metadata": IIoK8sApimachineryPkgApisMetaV1ObjectMeta;
    "spec": IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectSpec;
    "status"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectStatus;
    static apiVersion: IAppProject["apiVersion"];
    static kind: IAppProject["kind"];
    static is: import("@kubernetes-models/base").TypeMetaGuard<IAppProject>;
    constructor(data?: ModelData<IAppProject>);
}
export type { IAppProject as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProject, AppProject as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProject };
