## API Report File for "@aws-amplify/cli-extensibility-helper"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { $TSAny } from '@aws-amplify/amplify-cli-core';
import { addCDKResourceDependency as addResourceDependency } from '@aws-amplify/amplify-category-custom';
import { AmplifyResourceProps } from '@aws-amplify/amplify-category-custom';
import * as apigwCdk from 'aws-cdk-lib/aws-apigateway';
import * as cdk from 'aws-cdk-lib';
import { CfnApiKey } from 'aws-cdk-lib/aws-appsync';
import { CfnDataSource } from 'aws-cdk-lib/aws-appsync';
import { CfnDomain } from 'aws-cdk-lib/aws-elasticsearch';
import { CfnEventSourceMapping } from 'aws-cdk-lib/aws-lambda';
import { CfnFunction } from 'aws-cdk-lib/aws-lambda';
import { CfnFunctionConfiguration } from 'aws-cdk-lib/aws-appsync';
import { CfnGraphQLApi } from 'aws-cdk-lib/aws-appsync';
import { CfnGraphQLSchema } from 'aws-cdk-lib/aws-appsync';
import { CfnPolicy } from 'aws-cdk-lib/aws-iam';
import { CfnResolver } from 'aws-cdk-lib/aws-appsync';
import { CfnRole } from 'aws-cdk-lib/aws-iam';
import { CfnStack } from 'aws-cdk-lib';
import { CfnTable } from 'aws-cdk-lib/aws-dynamodb';
import * as cognito from 'aws-cdk-lib/aws-cognito';
import * as ddb from 'aws-cdk-lib/aws-dynamodb';
import * as iamCdk from 'aws-cdk-lib/aws-iam';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as s3 from 'aws-cdk-lib/aws-s3';

export { addResourceDependency }

// @public (undocumented)
export interface AmplifyApiGraphQlResourceStackTemplate {
    // Warning: (ae-forgotten-export) The symbol "AppsyncApiStack" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    api?: Partial<AppsyncApiStack>;
    // Warning: (ae-forgotten-export) The symbol "ModelDirectiveStack" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    models?: Partial<Record<string, ModelDirectiveStack>>;
    // Warning: (ae-forgotten-export) The symbol "OpenSearchDirectiveStack" needs to be exported by the entry point index.d.ts
    // Warning: (ae-forgotten-export) The symbol "AppsyncStackCommon" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    opensearch?: Partial<OpenSearchDirectiveStack & AppsyncStackCommon>;
    // Warning: (ae-forgotten-export) The symbol "PredictionsDirectiveStack" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    predictions?: Partial<PredictionsDirectiveStack & AppsyncStackCommon>;
}

// Warning: (ae-forgotten-export) The symbol "AmplifyCDKL1_2" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type AmplifyApiRestResourceStackTemplate = {
    restApi: apigwCdk.CfnRestApi;
    deploymentResource: apigwCdk.CfnDeployment;
    policies?: {
        [pathName: string]: ApigwPathPolicy;
    };
} & AmplifyCDKL1_2;

// Warning: (ae-forgotten-export) The symbol "AmplifyCDKL1_3" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type AmplifyAuthCognitoStackTemplate = {
    customMessageConfirmationBucket?: s3.CfnBucket;
    snsRole?: iamCdk.CfnRole;
    userPool?: cognito.CfnUserPool;
    userPoolClientWeb?: cognito.CfnUserPoolClient;
    userPoolClient?: cognito.CfnUserPoolClient;
    identityPool?: cognito.CfnIdentityPool;
    identityPoolRoleMap?: cognito.CfnIdentityPoolRoleAttachment;
    lambdaConfigPermissions?: Record<string, lambda.CfnPermission>;
    lambdaTriggerPermissions?: Record<string, iamCdk.CfnPolicy>;
    userPoolClientLambda?: lambda.CfnFunction;
    userPoolClientRole?: iamCdk.CfnRole;
    userPoolClientLambdaPolicy?: iamCdk.CfnPolicy;
    userPoolClientLogPolicy?: iamCdk.CfnPolicy;
    userPoolClientInputs?: cdk.CustomResource;
    hostedUICustomResource?: lambda.CfnFunction;
    hostedUICustomResourcePolicy?: iamCdk.CfnPolicy;
    hostedUICustomResourceLogPolicy?: iamCdk.CfnPolicy;
    hostedUICustomResourceInputs?: cdk.CustomResource;
    hostedUIProvidersCustomResource?: lambda.CfnFunction;
    hostedUIProvidersCustomResourcePolicy?: iamCdk.CfnPolicy;
    hostedUIProvidersCustomResourceLogPolicy?: iamCdk.CfnPolicy;
    hostedUIProvidersCustomResourceInputs?: cdk.CustomResource;
    oAuthCustomResource?: lambda.CfnFunction;
    oAuthCustomResourcePolicy?: iamCdk.CfnPolicy;
    oAuthCustomResourceLogPolicy?: iamCdk.CfnPolicy;
    oAuthCustomResourceInputs?: cdk.CustomResource;
    mfaLambda?: lambda.CfnFunction;
    mfaLogPolicy?: iamCdk.CfnPolicy;
    mfaLambdaPolicy?: iamCdk.CfnPolicy;
    mfaLambdaInputs?: cdk.CustomResource;
    mfaLambdaRole?: iamCdk.CfnRole;
    openIdLambda?: lambda.CfnFunction;
    openIdLogPolicy?: iamCdk.CfnPolicy;
    openIdLambdaIAMPolicy?: iamCdk.CfnPolicy;
    openIdLambdaInputs?: cdk.CustomResource;
    openIdLambdaRole?: iamCdk.CfnRole;
} & AmplifyCDKL1_3;

// @public (undocumented)
export interface AmplifyCDKL1 {
    // (undocumented)
    addCfnCondition: (props: cdk.CfnConditionProps, logicalId: string) => void;
    // (undocumented)
    addCfnMapping: (props: cdk.CfnMappingProps, logicalId: string) => void;
    // (undocumented)
    addCfnOutput: (props: cdk.CfnOutputProps, logicalId: string) => void;
    // (undocumented)
    addCfnParameter: (props: cdk.CfnParameterProps, logicalId: string) => void;
    // (undocumented)
    addCfnResource: (props: cdk.CfnResourceProps, logicalId: string) => void;
}

// @public (undocumented)
export interface AmplifyDDBResourceTemplate extends AmplifyCDKL1 {
    // (undocumented)
    dynamoDBTable?: ddb.CfnTable;
}

// @public (undocumented)
export type AmplifyProjectInfo = Readonly<{
    envName: string;
    projectName: string;
}>;

export { AmplifyResourceProps }

// @public (undocumented)
export interface AmplifyRootStackTemplate {
    // (undocumented)
    addCfnCondition: (props: cdk.CfnConditionProps, logicalId: string) => void;
    // (undocumented)
    addCfnMapping: (props: cdk.CfnMappingProps, logicalId: string) => void;
    // (undocumented)
    addCfnOutput: (props: cdk.CfnOutputProps, logicalId: string) => void;
    // (undocumented)
    addCfnParameter: (props: cdk.CfnParameterProps, logicalId: string) => void;
    // (undocumented)
    addCfnResource: (props: cdk.CfnResourceProps, logicalId: string) => void;
    // (undocumented)
    authRole?: iamCdk.CfnRole;
    // (undocumented)
    unauthRole?: iamCdk.CfnRole;
}

// @public (undocumented)
export interface AmplifyS3ResourceTemplate extends AmplifyCDKL1 {
    // (undocumented)
    s3AuthPrivatePolicy?: iamCdk.CfnPolicy;
    // (undocumented)
    s3AuthProtectedPolicy?: iamCdk.CfnPolicy;
    // (undocumented)
    s3AuthPublicPolicy?: iamCdk.CfnPolicy;
    // (undocumented)
    s3AuthReadPolicy?: iamCdk.CfnPolicy;
    // (undocumented)
    s3AuthUploadPolicy?: iamCdk.CfnPolicy;
    // (undocumented)
    s3Bucket?: s3.CfnBucket;
    // (undocumented)
    s3GuestPublicPolicy?: iamCdk.CfnPolicy;
    // (undocumented)
    s3GuestReadPolicy?: iamCdk.CfnPolicy;
    // (undocumented)
    s3GuestUploadPolicy?: iamCdk.CfnPolicy;
}

// @public (undocumented)
export type AmplifyUserPoolGroupStackTemplate = {
    userPoolGroup?: Record<string, cognito.CfnUserPoolGroup>;
    userPoolGroupRole?: Record<string, iamCdk.CfnRole>;
    roleMapCustomResource?: cdk.CustomResource;
    lambdaExecutionRole?: iamCdk.CfnRole;
    roleMapLambdaFunction?: lambda.CfnFunction;
} & AmplifyCDKL1_3;

// @public (undocumented)
export type ApigwPathPolicy = {
    groups?: {
        [groupName: string]: iamCdk.CfnPolicy;
    };
};

// @public (undocumented)
export const getProjectInfo: () => AmplifyProjectInfo;

// (No @packageDocumentation comment for this package)

```
