import { AssetProvider, GraphQLAPIProvider, TransformHostProvider, LogConfig } from '@aws-amplify/graphql-transformer-interfaces'; import { ApiKeyConfig, AuthorizationConfig, AuthorizationType, GraphqlApiBase, CfnApiKey, Visibility, IamResource } from 'aws-cdk-lib/aws-appsync'; import { Grant, IGrantable } from 'aws-cdk-lib/aws-iam'; import { CfnResource } from 'aws-cdk-lib'; import { Construct } from 'constructs'; import { TransformerSchema } from './cdk-compat/schema-asset'; export interface GraphqlApiProps { readonly name: string; readonly authorizationConfig?: AuthorizationConfig; readonly logging?: true | LogConfig; readonly schema?: TransformerSchema; readonly xrayEnabled?: boolean; } export type TransformerAPIProps = GraphqlApiProps & { readonly createApiKey?: boolean; readonly host?: TransformHostProvider; readonly sandboxModeEnabled?: boolean; readonly environmentName?: string; readonly disableResolverDeduping?: boolean; readonly assetProvider: AssetProvider; }; export declare class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { readonly apiId: string; readonly host: TransformHostProvider; readonly arn: string; readonly graphqlUrl: string; readonly name: string; readonly schema: TransformerSchema; readonly modes: AuthorizationType[]; readonly apiKey?: string; readonly sandboxModeEnabled?: boolean; readonly disableResolverDeduping?: boolean; readonly environmentName?: string; readonly assetProvider: AssetProvider; readonly graphQLEndpointArn: string; readonly visibility: Visibility; private schemaResource; private api; private apiKeyResource?; private authorizationConfig?; constructor(scope: Construct, id: string, props: TransformerAPIProps); grant(grantee: IGrantable, resources: IamResource, ...actions: string[]): Grant; grantQuery(grantee: IGrantable, ...fields: string[]): Grant; grantMutation(grantee: IGrantable, ...fields: string[]): Grant; grantSubscription(grantee: IGrantable, ...fields: string[]): Grant; createAPIKey(config?: ApiKeyConfig): CfnApiKey; addToSchema(content: string): void; getDefaultAuthorization(): any; private validateAuthorizationProps; addSchemaDependency(construct: CfnResource): boolean; private setupLogConfig; private setupOpenIdConnectConfig; private setupUserPoolConfig; private setupLambdaConfig; private lambdaArnKey; private setupAdditionalAuthorizationModes; private getAppSyncLogGroupName; } //# sourceMappingURL=graphql-api.d.ts.map