import { RateLimitExceededEventHandler } from 'express-rate-limit'; import { AccessInfo, AppDomain, AuthBasicVerify, AuthBearerVerify } from './common'; export type AppBaseOptions = { errorUrl?: string; identityUrl?: string; identityCacheMax?: number; identityCacheDuration?: number; fnBearerVerify?: AuthBearerVerify; fnVerify?: AuthBasicVerify; disableDebugTrace?: boolean; disableModelRoleAbilityLog?: boolean; disableModelRoleAbilityLogMessage?: boolean; [k: string]: any; }; export type AppBaseInitParams = { serviceIdToken?: string; orgId?: number; appDomain?: AppDomain; productId?: number; serviceAccessInfo?: AccessInfo; origins?: string; rateLimitHandler?: RateLimitExceededEventHandler; multipartFormData?: boolean; manualStart?: boolean; enablePubSub?: boolean; pubSubOption?: { [k: string]: any; }; options?: AppBaseOptions; apolloOptions?: { [k: string]: any; }; }; export declare let devMode: boolean; export declare abstract class AppSeed { readonly name: string; readonly version: string; protected _devMode: boolean; protected _terminated: boolean; protected serviceIdToken: string; protected serviceOrgId: number; protected serviceAppDomain: AppDomain; protected serviceProductId: number; protected serviceAccessInfo: AccessInfo; protected abstract shutdown(): Promise; constructor(name?: string, version?: string, correlator?: any); protected init(params?: AppBaseInitParams): Promise; term(): Promise; private setupSeedComponents; private setupAuthBearer; protected bootstrap(correlator?: any): void; protected get devMode(): boolean; protected set devMode(value: boolean); }