import { AmplifyAppSyncSimulatorAuthenticationType, AppSyncSimulatorDataSourceBaseConfig, AppSyncSimulatorDataSourceConfig, AppSyncSimulatorDataSourceType, AppSyncSimulatorFunctionsConfig, AppSyncSimulatorMappingTemplate, AppSyncSimulatorSchemaConfig, AppSyncSimulatorTable, RESOLVER_KIND } from 'amplify-appsync-simulator/lib/type-definition'; type RequireAtLeastOne = Pick> & { [K in Keys]-?: Required> & Partial>>; }[Keys]; export declare enum AppSyncSimulatorCustomDataSourceType { Http = "HTTP" } export type AppSyncSimulatorCustomFunctionsConfig = AppSyncSimulatorFunctionsConfig & { dataSource: string; type: string; field: string; substitutions: {}; requestMappingTemplate: string; responseMappingTemplate: string; }; export type AppsyncSimulatorAuthenticationConfig = { type: AmplifyAppSyncSimulatorAuthenticationType; config: { cognitoUserPoolConfig: { AppIdClientRegex: string; awsRegion: string; defaultAction: string; userPoolId: string; }; userPoolConfig: { AppIdClientRegex: string; awsRegion: string; defaultAction: string; userPoolId: string; }; openIDConnectConfig: { Issuer: string; ClientId: string; }; }; }; export type AppSyncSimulatorCustomConfig = AmplifyAppSyncSimulatorCustomConfig & { resolvers: [{ [key: string]: AmplifyAppSyncSimulatorCustomMappingTemplate; }]; pipelineFunctions: [{ [key: string]: AppSyncSimulatorCustomFunctionsConfig; }]; dataSources: [{ [key: string]: AppSyncSimulatorDataSourceConfig; }]; authentication: AppsyncSimulatorAuthenticationConfig; additionalAuthentications: AppsyncSimulatorAuthenticationConfig[]; }; export type AmplifyAppSyncSimulatorCustomConfig = { authenticationType: AmplifyAppSyncSimulatorAuthenticationType; resolversLocation: string; functionConfigurationsLocation: string; defaultMappingTemplates: any; functionConfigurations: AppSyncSimulatorCustomFunctionsConfig[]; substitutions: {}; mappingTemplates: AmplifyAppSyncSimulatorCustomMappingTemplate[]; data?: AppSyncSimulatorDataSourceConfig[]; schema: AppSyncSimulatorSchemaConfig; name: string; defaultAuthenticationType: AppsyncSimulatorAuthenticationConfig; authRoleName?: string; unAuthRoleName?: string; authAccessKeyId?: string; accountId?: string; apiKey?: string; additionalAuthenticationProviders: AppSyncSimulatorCustomConfig[]; tables?: AppSyncSimulatorTable[]; userPoolConfig: {}; openIDConnectConfig: {}; }; export type AmplifyAppSyncSimulatorCustomMappingTemplate = AppSyncSimulatorMappingTemplate & { kind: RESOLVER_KIND; field: string; type: string; dataSource: string; functions: string[]; substitutions: {}; name: string; }; export interface AppSyncSimulatorOpenSearchConfig extends AppSyncSimulatorDataSourceBaseConfig { type: AppSyncSimulatorDataSourceType.OpenSearch | `${AppSyncSimulatorDataSourceType.OpenSearch}`; endpoint: string; } export interface AppSyncSimulatorHttpConfig extends AppSyncSimulatorDataSourceBaseConfig { name: string; type: AppSyncSimulatorCustomDataSourceType.Http | `${AppSyncSimulatorCustomDataSourceType.Http}`; config: { endpoint: string; }; } export type AppSyncSimulatorDataSourceCustomConfig = AppSyncSimulatorDataSourceConfig | AppSyncSimulatorOpenSearchConfig | AppSyncSimulatorHttpConfig; export type Maybe = null | undefined | T; export type Event = Record; export type Callback = (event: any, context: ContextObject, done: ContextObject['cb']) => void; export type ContextObject = { name: string; attempt: number; cb: (err: Maybe, result?: Event) => void | Callback | Promise; done: ContextObject['cb']; succeed: (result: Event) => void; fail: (err: Error) => void; }; export type Options = { location?: Maybe; stateMachine?: Maybe; lambdaEndpoint?: Maybe; dynamoDb?: {}; detailedLog?: boolean; l?: boolean; [key: string]: any; stage?: string; region?: string; } & RequireAtLeastOne<{ eventFile?: Maybe; event?: Maybe; e?: Options['event']; ef?: Options['eventFile']; }, 'event' | 'e'>; declare const DEFAULT_MAPPING_TEMPLATE_LOCATION = "mapping-templates"; declare const DEFAULT_ENCODING = "utf8"; declare const DEFAULT_SCHEMA_FILE = "schema.graphql"; declare const DEFAULT_HTTP_METHOD = "POST"; declare const DEFAULT_RESOLVER_TYPE = "UNIT"; declare const MappingTemplateType: { MAPPING_TEMPLATE: string; FUNCTION_CONFIGURATION: string; }; export { DEFAULT_MAPPING_TEMPLATE_LOCATION, DEFAULT_ENCODING, DEFAULT_SCHEMA_FILE, DEFAULT_HTTP_METHOD, DEFAULT_RESOLVER_TYPE, MappingTemplateType, };