#!/usr/bin/env node
import * as cdk from 'aws-cdk-lib';
import * as cfn from 'aws-cdk-lib/aws-cloudformation';
import * as iam from 'aws-cdk-lib/aws-iam';
import * as iot from 'aws-cdk-lib/aws-iot';
import * as s3 from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
/**
 * Properties of GreengrassFleetProvisioning construct
 */
export interface GreengrassFleetProvisioningProps extends cdk.ResourceProps {
    readonly resourcePrefix: string;
    readonly env: cdk.Environment;
    readonly certificateBucket: s3.IBucket;
    readonly certificatePrefix: string;
}
/**
 * A CDK Construct for creating an AWS IoT Greengrass Fleet Provisioning assets (including certificate via Custom Resource)
 */
export declare class GreengrassFleetProvisioning extends Construct {
    private props;
    tokenExchangeRole: iam.Role;
    fleetProvisioningRole: iam.Role;
    provisioningClaimPolicy: iot.CfnPolicy;
    tokenExchangeRoleAlias: iot.CfnRoleAlias;
    deviceDefaultPolicy: iot.CfnPolicy;
    fleetProvisionTemplate: iot.CfnProvisioningTemplate;
    fleetProvisionCustomResource: cfn.CfnCustomResource;
    certificateId: string;
    certificateArn: string;
    credentialEndpoint: string;
    dataEndpoint: string;
    constructor(scope: Construct, id: string, props: GreengrassFleetProvisioningProps);
    private addFleetProvisioningCustomResource;
    private addFleetProvisioningCertificateId;
    private addFleetProvisioningCertificateArn;
    private addFleetProvisioningRole;
    private addFleetProvisioningTemplate;
    private addIoTCredentialEndpoint;
    private addIoTDataEndpoint;
    private addTokenExchangeRole;
    private addTokenExchangeRoleAlias;
    private addDeviceDefaultPolicy;
    private addProvisioningClaimPolicy;
}
