import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { IProjectRef, ProjectReference } from "../../interfaces/generated/aws-lookoutvision-interfaces.generated";
/**
 * The `AWS::LookoutVision::Project` type creates an Amazon Lookout for Vision project.
 *
 * A project is a grouping of the resources needed to create and manage an Amazon Lookout for Vision model.
 *
 * @cloudformationResource AWS::LookoutVision::Project
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html
 */
export declare class CfnProject extends cdk.CfnResource implements cdk.IInspectable, IProjectRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnProject from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnProject;
    /**
     * Checks whether the given object is a CfnProject
     */
    static isCfnProject(x: any): x is CfnProject;
    /**
     * Creates a new IProjectRef from an ARN
     */
    static fromProjectArn(scope: constructs.Construct, id: string, arn: string): IProjectRef;
    /**
     * Creates a new IProjectRef from a projectName
     */
    static fromProjectName(scope: constructs.Construct, id: string, projectName: string): IProjectRef;
    static arnForProject(resource: IProjectRef): string;
    /**
     * The name of the project.
     */
    private _projectName;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::LookoutVision::Project`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnProjectProps);
    get projectRef(): ProjectReference;
    /**
     * The name of the project.
     */
    get projectName(): string;
    /**
     * The name of the project.
     */
    set projectName(value: string);
    /**
     * Returns the Amazon Resource Name of the project.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnProject`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html
 */
export interface CfnProjectProps {
    /**
     * The name of the project.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html#cfn-lookoutvision-project-projectname
     */
    readonly projectName: string;
}
export type { IProjectRef, ProjectReference };
