import { CfnInclude, IncludedNestedStack } from '@aws-cdk/cloudformation-include'; import * as cdk from '@aws-cdk/core'; import { AmplifyExportedBackendProps } from './amplify-exported-backend-props'; import { BaseAmplifyExportBackend } from './base-exported-backend'; import { IAPIGraphQLIncludeNestedStack, IAPIRestIncludedStack, IAuthIncludeNestedStack } from './include-nested-stacks'; import { ILambdaFunctionIncludedNestedStack } from './include-nested-stacks/lambda-function/lambda-function-nested-stack'; /** * Represents the Amplify Exported Backend Stack. * * @stability stable */ export interface IAmplifyExportedBackend { /** * Used to get the auth stack. * * @returns the nested stack of type {IAuthIncludeNestedStack} * @stability stable * @throws {AmplifyCategoryNotFoundError} if the auth stack doesn't exist */ authNestedStack(): IAuthIncludeNestedStack; /** * Used to get the api graphql stack from the backend. * * @returns the nested stack of type {IAPIGraphQLIncludeNestedStack} * @stability stable * @throws {AmplifyCategoryNotFoundError} if the API graphql stack doesn't exist */ graphqlNestedStacks(): IAPIGraphQLIncludeNestedStack; /** * Used to get rest api stack from the backend. * * @returns the nested of type Rest API * @stability stable * @throws {AmplifyCategoryNotFoundError} if the API Rest stack doesn't exist */ apiRestNestedStack(resourceName: string): IAPIRestIncludedStack; /** * Used to get a specific lambda function from the backend. * * @param functionName the function name to get from the nested stack. * @returns * @stability stable * @throws {AmplifyCategoryNotFoundError} if the lambda function stack doesn't exist */ lambdaFunctionNestedStackByName(functionName: string): ILambdaFunctionIncludedNestedStack; /** * Used to get all the lambda functions from the backend. * * @returns * @stability stable * @throws {AmplifyCategoryNotFoundError} if the no Lambda Function stacks are found */ lambdaFunctionNestedStacks(): ILambdaFunctionIncludedNestedStack[]; /** * Return the stacks defined in the backend. * * @param category of the categories defined in Amplify CLI like function, api, auth etc. * @default is undefined * @stability stable */ nestedStacksByCategory(category: string, resourceName?: string): IncludedNestedStack[]; } /** * *. * * @stability stable */ export declare class AmplifyExportedBackend extends BaseAmplifyExportBackend implements IAmplifyExportedBackend { /** * @stability stable */ cfnInclude: CfnInclude; /** * @stability stable */ rootStack: cdk.Stack; /** * @stability stable */ constructor(scope: cdk.Construct, id: string, props: AmplifyExportedBackendProps); private applyTags; /** * Used to get the auth stack. * * @stability stable */ authNestedStack(): IAuthIncludeNestedStack; /** * Used to get the api graphql stack from the backend. * * @stability stable */ graphqlNestedStacks(): IAPIGraphQLIncludeNestedStack; /** * Used to get all the lambda functions from the backend. * * @stability stable */ lambdaFunctionNestedStacks(): ILambdaFunctionIncludedNestedStack[]; /** * Used to get a specific lambda function from the backend. * * @stability stable */ lambdaFunctionNestedStackByName(functionName: string): ILambdaFunctionIncludedNestedStack; /** * Return the stacks defined in the backend. * * @stability stable */ nestedStacksByCategory(category: string, resourceName?: string): IncludedNestedStack[]; /** * Used to get rest api stack from the backend. * * @stability stable */ apiRestNestedStack(resourceName: string): IAPIRestIncludedStack; private getCategoryNestedStack; }