import * as iam from 'aws-cdk-lib/aws-iam';
import * as servicecatalog from 'aws-cdk-lib/aws-servicecatalog';
import { Construct } from 'constructs';
/**
 * Interface for Service Catalog of EMR cluster templates.
 */
export interface EmrStudioDeveloperStackProps {
    /**
                                                     * The provider name in a Service Catalog for EMR cluster templates.
                                                     *
                                                     * @default - 'scott.hsieh'
                                                     */
    readonly providerName?: string;
    /**
     * an IAM group you wish to associate with the Portfolio for EMR cluster template.
     */
    readonly group?: iam.IGroup;
    /**
     * an IAM role you wish to associate with the Portfolio for EMR cluster template.
     */
    readonly role?: iam.IRole;
    /**
     * an IAM user you wish to associate with the Portfolio for EMR cluster template.
     */
    readonly user?: iam.IUser;
}
/**
 * Creates a Service Catalog for EMR cluster templates.
 *
 * For detail, please refer to [Create AWS CloudFormation templates for Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-cluster-templates.html).
 *
 * ```ts
 * const emrClusterTemplatePortfolio = new EmrStudioDeveloperStack(this, 'ClusterTempalte');
 * ```
 */
export declare class EmrStudioDeveloperStack extends Construct {
    /**
                                                     * The representative of the service catalog for EMR cluster tempaltes.
                                                     */
    readonly portfolio: servicecatalog.Portfolio;
    /**
                                                     * The representative of the product for demo purpose.
                                                     */
    readonly product: servicecatalog.Product;
    constructor(scope: Construct, name: string, props?: EmrStudioDeveloperStackProps);
}
/**
 * Creates a CloudFormation template which will be a Product under a Portfolio of AWS Service Catalog. This is for creating an EMR cluster via cluster template in the EMR Studio, created by the `EmrServerless` construct, on the AWS Console.
 *
 * And you don't have control via the `EmrServerless` construct by now. The documentation is for you to grasp the architecture of the `EmrServerless` more easily.
 *
 * For detail, please refer to [Create AWS CloudFormation templates for Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-cluster-templates.html).
 *
 * ```ts
 * const product = new servicecatalog.CloudFormationProduct(this, 'MyFirstProduct', {
 *    productName: 'EMR_6.6.0',
 *    owner: 'scott.hsieh',
 *    description: 'EMR cluster with 6.6.0 version',
 *    productVersions: [
 *      {
 *        productVersionName: 'v1',
 *        validateTemplate: true,
 *        cloudFormationTemplate: servicecatalog.CloudFormationTemplate.fromProductStack(new EmrClusterTemplateStack(this, 'EmrStudio')),
 *      },
 * ],
 * });
 * ```
 */
export declare class EmrClusterTemplateStack extends servicecatalog.ProductStack {
    constructor(scope: Construct, id: string);
}
