import * as cdk from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as iam from 'aws-cdk-lib/aws-iam';
import * as cognito from 'aws-cdk-lib/aws-cognito';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import { AmplifyAuthCognitoStackTemplate } from '@aws-amplify/cli-extensibility-helper';
import { Construct } from 'constructs';
import { CognitoStackOptions } from '../service-walkthrough-types/cognito-user-input-types';
export type AmplifyAuthCognitoStackProps = {
    synthesizer: cdk.IStackSynthesizer;
};
export declare class AmplifyAuthCognitoStack extends cdk.Stack implements AmplifyAuthCognitoStackTemplate {
    private _scope;
    private _cfnParameterMap;
    private _cfnConditionMap;
    private _cfnOutputMap;
    private _cfnMappingMap;
    private _cfnResourceMap;
    customMessageConfirmationBucket?: s3.CfnBucket | undefined;
    snsRole: iam.CfnRole | undefined;
    userPool: cognito.CfnUserPool | undefined;
    userPoolClientWeb: cognito.CfnUserPoolClient | undefined;
    userPoolClient: cognito.CfnUserPoolClient | undefined;
    identityPool: cognito.CfnIdentityPool | undefined;
    identityPoolRoleMap: cognito.CfnIdentityPoolRoleAttachment | undefined;
    lambdaConfigPermissions?: Record<string, lambda.CfnPermission>;
    lambdaTriggerPermissions?: Record<string, iam.CfnPolicy>;
    userPoolClientRole?: iam.CfnRole;
    hostedUICustomResource?: lambda.CfnFunction;
    hostedUICustomResourcePolicy?: iam.CfnPolicy;
    hostedUICustomResourceLogPolicy?: iam.CfnPolicy;
    hostedUICustomResourceInputs?: cdk.CustomResource;
    hostedUIProvidersCustomResource?: lambda.CfnFunction;
    hostedUIProvidersCustomResourcePolicy?: iam.CfnPolicy;
    hostedUIProvidersCustomResourceLogPolicy?: iam.CfnPolicy;
    hostedUIProvidersCustomResourceInputs?: cdk.CustomResource;
    mfaLambda?: lambda.CfnFunction;
    mfaLogPolicy?: iam.CfnPolicy;
    mfaLambdaPolicy?: iam.CfnPolicy;
    mfaLambdaInputs?: cdk.CustomResource;
    mfaLambdaRole?: iam.CfnRole;
    openIdLambda?: lambda.CfnFunction;
    openIdLogPolicy?: iam.CfnPolicy;
    openIdLambdaIAMPolicy?: iam.CfnPolicy;
    openIdLambdaInputs?: cdk.CustomResource;
    openIdLambdaRole?: iam.CfnRole;
    constructor(scope: Construct, id: string, props: AmplifyAuthCognitoStackProps);
    addCfnResource(props: cdk.CfnResourceProps, logicalId: string): void;
    getCfnOutput(logicalId: string): cdk.CfnOutput;
    getCfnMapping(logicalId: string): cdk.CfnMapping;
    addCfnOutput(props: cdk.CfnOutputProps, logicalId: string): void;
    addCfnMapping(props: cdk.CfnMappingProps, logicalId: string): void;
    addCfnCondition(props: cdk.CfnConditionProps, logicalId: string): void;
    addCfnParameter(props: cdk.CfnParameterProps, logicalId: string): void;
    getCfnParameter(logicalId: string): cdk.CfnParameter;
    getCfnCondition(logicalId: string): cdk.CfnCondition;
    generateCognitoStackResources: (props: CognitoStackOptions) => Promise<void>;
    renderCloudFormationTemplate: () => string;
    createBaseLambdaRole(props: CognitoStackOptions): void;
    updateUserPoolClientWithOAuthSettings: (props: CognitoStackOptions) => void;
    createHostedUICustomResource(): void;
    createHostedUIProviderCustomResource(): void;
    createMFACustomResource(props: CognitoStackOptions): void;
    createOpenIdLambdaCustomResource(props: CognitoStackOptions): void;
    generateIAMPolicies: (props: CognitoStackOptions) => void;
}
//# sourceMappingURL=auth-cognito-stack-builder.d.ts.map