import { AllSupportedAwsServices, AwsSupportedManagementServices, AwsSupportedResources } from '../definitions/supported-services'; import { AwsScanner, AwsRegionalScanFunction, AwsGlobalScanFunction, AwsCredentials, RateLimiter, AwsResourcesList } from '../types'; import { AwsScannerLifecycleHook } from '../types'; export type GetRateLimiterFunction = (service: AllSupportedAwsServices, region?: string) => RateLimiter; export interface CreateScannerOptions { credentials: AwsCredentials; hooks: AwsScannerLifecycleHook[]; getRateLimiter: GetRateLimiterFunction; } export type CreateRegionalResourceScannerFunction = (service: T, scanFunction: AwsRegionalScanFunction, regions: string[], options: CreateScannerOptions) => AwsScanner>; export type CreateGlobalResourceScannerFunction = (service: T, scanFunction: AwsGlobalScanFunction, options: CreateScannerOptions) => AwsScanner>; export type AwsResourceScannerConfig = { service: T; global: true; handler: AwsGlobalScanFunction; } | { service: T; global?: false; handler: AwsRegionalScanFunction; }; interface GetAwsScannerArgumentsBase { credentials?: AwsCredentials; getRateLimiter: GetRateLimiterFunction; hooks?: AwsScannerLifecycleHook[]; } export interface GetAwsResourceScannerArguments extends GetAwsScannerArgumentsBase { service: T; regions?: string[]; } export interface GetAllAwsResourceScannersArguments extends GetAwsScannerArgumentsBase { shouldIncludeGlobalServices: boolean; regions: string[]; } export interface GetAwsTagsScannerArguments extends GetAwsScannerArgumentsBase { services: AwsSupportedResources[]; } export {}; //# sourceMappingURL=types.d.ts.map