import * as apigateway from 'aws-cdk-lib/aws-apigateway'; import { RepositorySelectionMode, TargetRuleSettings } from './target'; import { TokenProviderEndpoint, TokenProviderEndpointType } from './token-provider'; import { GitHubAppPermissions } from '../'; export interface TokenProviderConfiguratorIntegrationOptionsContext { readonly name: string; readonly endpoint: TokenProviderEndpoint; readonly appId: number; readonly appName: string; readonly permissions: GitHubAppPermissions; readonly targetRule: TargetRuleSettings; } export interface TokenProviderConfiguratorMethodOptionsContext { readonly requestValidator?: apigateway.IRequestValidator; readonly endpointType: TokenProviderEndpointType; readonly repositorySelectionMode: RepositorySelectionMode; readonly tokenResponseModel: apigateway.Model; readonly errorResponseModel: apigateway.Model; readonly operationName: string; } /** * This class may see some breaking changes but the intent is to stabilize, be made abstract and available as input on `TokenProviderConfiguration` **/ export declare class TokenProviderConfigurator { static create(): TokenProviderConfigurator; private constructor(); get integrationResponses(): apigateway.IntegrationResponse[]; createApiResource(api: apigateway.IRestApi, name: string, endpoint: TokenProviderEndpoint): apigateway.Resource; createMethodOptions(input: TokenProviderConfiguratorMethodOptionsContext): apigateway.MethodOptions; private doCreateIntegrationOptions; createIntegrationOptions(settings: TokenProviderConfiguratorIntegrationOptionsContext): apigateway.LambdaIntegrationOptions; }