/// /// /// /// import * as _punks_backend_core from '@punks/backend-core'; import { ExcelParseOptions } from '@punks/backend-core'; import * as _nestjs_common from '@nestjs/common'; import { Type as Type$1, INestApplicationContext, CanActivate, ExecutionContext, NestModule, DynamicModule, MiddlewareConsumer, OnModuleInit, OnModuleDestroy, StreamableFile, ExceptionFilter, ArgumentsHost, NestMiddleware } from '@nestjs/common'; import { Repository, EntityTarget, ObjectLiteral, FindOneOptions, FindManyOptions, FindOptionsRelations, ObjectId, FindOptionsWhere, FindOperator, FindOptionsOrder } from 'typeorm'; import { Module } from '@nestjs/core/injector/module'; import { ModulesContainer } from '@nestjs/core/injector/modules-container'; import { MetadataScanner } from '@nestjs/core/metadata-scanner'; import { Reflector, ModulesContainer as ModulesContainer$1 } from '@nestjs/core'; import { JwtService } from '@nestjs/jwt'; import { SchedulerRegistry } from '@nestjs/schedule'; import { CommandBus } from '@nestjs/cqrs'; import * as express from 'express'; import { Response, Request, NextFunction } from 'express'; import { AttributeValue } from '@aws-sdk/client-dynamodb'; import { EventEmitter2 } from '@nestjs/event-emitter'; import * as qs from 'qs'; import * as express_serve_static_core from 'express-serve-static-core'; import { AsyncLocalStorage } from 'async_hooks'; type EntityReference = { id: TEntityId; }; type EnumType = string | number | symbol; type SortingType = EnumType; interface ClassType { new (...args: any[]): any; constructor: { name: string; }; } interface Type extends Function { new (...args: any[]): T; } interface IEntitySearchParameters { query?: IFullTextQuery; filters?: ISearchFilters; traverse?: ITraverseFilters; sorting?: ISearchSorting; paging?: ISearchRequestPaging; options?: ISearchOptions; relations?: ISearchQueryRelations; } interface ISearchFilters { } interface ITraverseFilters { rootOnly?: boolean; parentIds?: string[]; } interface ISearchOptions { includeFacets?: boolean; includeChildrenMap?: boolean; facetsFilters?: ISearchFilters; } interface ISearchRequestPaging { cursor?: TCursor; pageSize: number; } interface ISearchSortingField { field: TSorting; direction: SortDirection$1; } interface ISearchSorting { fields: ISearchSortingField[]; } declare enum SortDirection$1 { Asc = "asc", Desc = "desc" } interface IFullTextQuery { term: string; fields: string[]; } type ISearchQueryRelationsProperty = TProperty extends Promise ? ISearchQueryRelationsProperty> | boolean : TProperty extends Array ? ISearchQueryRelationsProperty> | boolean : TProperty extends string ? never : TProperty extends number ? never : TProperty extends boolean ? never : TProperty extends Function ? never : TProperty extends Buffer ? never : TProperty extends Date ? never : TProperty extends object ? ISearchQueryRelations | boolean : boolean; type ISearchQueryRelations = { [P in keyof TEntity]?: P extends "toString" ? unknown : ISearchQueryRelationsProperty>; }; interface IChildrenMap extends Record { } interface IEntitiesSearchResultsPaging { pageIndex: number; pageSize: number; totPageItems: number; totPages: number; totItems: number; nextPageCursor?: TCursor; currentPageCursor?: TCursor; prevPageCursor?: TCursor; } interface IEntitiesSearchResults, TResult, TSorting extends SortingType, TCursor, TFacets> { request: TSearchParameters; items: TResult[]; facets?: TFacets; paging?: IEntitiesSearchResultsPaging; childrenMap?: IChildrenMap; } interface IEntityVersionsReference { entityId: string; } interface IEntityVersionsFilters { timestampFrom?: Date; timestampTo?: Date; } interface IEntityVersionsSorting { direction: SortDirection$1; } declare class IEntityVersionsCursor { cursor?: TCursor; pageSize: number; } interface IEntityVersionsSearchParameters { entity: IEntityVersionsReference; filters?: IEntityVersionsFilters; sorting?: IEntityVersionsSorting; paging?: IEntityVersionsCursor; } interface IEntityVersionsResultsPaging { pageIndex: number; pageSize: number; totPageItems: number; totPages: number; totItems: number; nextPageCursor?: TCursor; currentPageCursor?: TCursor; prevPageCursor?: TCursor; } interface IEntityVersionsSearchResults { paging?: IEntityVersionsResultsPaging; items: TResult[]; } interface IEntityVersionsSearchRequest { params: IEntityVersionsSearchParameters; } interface IEntityVersionsSearchResponse { request: IEntityVersionsSearchRequest; paging?: IEntityVersionsResultsPaging; items: TResult[]; } type EntryValidationError = { errorCode: string; value?: any; payload?: any; }; type EntryValidationResult = { isValid: boolean; validationErrors: EntryValidationError[]; }; type ImportEntryValidationError = { errorCode: string; column: { name: string; key: string; value?: any; }; }; type ImportEntryValidationResult = { isValid: boolean; validationErrors: ImportEntryValidationError[]; }; type EntitySerializerColumnParser = (value: any) => any; type EntitySerializerColumnParseAction = (value: any, item: TSheetItem) => void; type EntitySerializerColumnConverter = (value: any, item: TSheetItem) => any; type EntitySerializerColumnValidator = { key: string; fn: (item: TSheetItem) => EntryValidationResult; }; type EntitySerializerSheetCustomParser = "date"; type EntitySerializerColumnModifier = "trim" | "lowercase" | "uppercase"; type EntitySerializerColumnDefinition = { name: string; aliases?: string[]; key: string; selector: keyof TSheetItem | ((item: TSheetItem) => any); colSpan?: number; sampleValue?: any; parser?: EntitySerializerColumnParser; parseAction?: EntitySerializerColumnParseAction; converter?: EntitySerializerColumnConverter; validators?: EntitySerializerColumnValidator[]; idColumn?: boolean; sheetParser?: EntitySerializerSheetCustomParser; array?: boolean; arraySeparator?: string | RegExp; modifiers?: EntitySerializerColumnModifier[]; }; type EntitySerializerSheetOptions = { name?: string; useTypeColumn?: boolean; }; type EntitySerializerSheetDefinition = { autoColumns?: boolean; columns: EntitySerializerColumnDefinition[]; sheet?: EntitySerializerSheetOptions; options?: ExcelParseOptions; }; type EntityExportFile = { content: Buffer; contentType: string; fileName: string; }; declare enum EntitySerializationFormat { Csv = "csv", Json = "json", Xlsx = "xlsx" } type ImportEntry = { id?: TEntityId; item: TSheetItem; rowIndex: number; status: ImportEntryValidationResult; }; interface IEntitySerializer { export(filters?: TEntitySearchParameters, payload?: TPayload): Promise; import(items: TSheetItem[], payload?: TPayload): Promise; serialize(items: TSheetItem[], format: EntitySerializationFormat, payload?: TPayload): Promise; parse(data: Buffer, format: EntitySerializationFormat, payload?: TPayload): Promise[]>; createSample(format: EntitySerializationFormat): Promise; } type EntitiesExportOptions = { format: EntitySerializationFormat; }; type EntitiesExportFile = { name: string; content: Buffer; contentType: string; }; type EntitiesExportResult = { file: EntitiesExportFile; downloadUrl: string; }; type EntitiesExportInput, TSorting extends SortingType, TCursor, TPayload = unknown> = { filter?: TEntitySearchParameters; options: EntitiesExportOptions; payload?: TPayload; }; type EntityExportBucketSettings = { bucket: string; publicLinksExpirationMinutes: number; rootFolderPath?: string; }; type EntitiesImportExportSettings = { exportBucket: EntityExportBucketSettings; }; type EntitiesSampleDownloadOptions = { format: EntitySerializationFormat; }; type EntitiesSampleDownloadResult = { file: EntitiesExportFile; downloadUrl: string; }; type EntitiesImportInputFile = { fileName: string; content: Buffer; contentType: string; }; declare enum InvalidEntityHandling { Skip = "skip", Fail = "fail" } type EntitiesImportInput = { format: EntitySerializationFormat; file: EntitiesImportInputFile; payload?: TPayload; options?: { invalidEntitiesHandling: InvalidEntityHandling; }; }; type EntitiesImportStatistics = { importedCount: number; skippedCount: number; updatedCount: number; createdCount: number; unchangedCount: number; }; type EntitiesImportResult = { statistics: EntitiesImportStatistics; }; type EntitiesParseInputFile = { fileName: string; content: Buffer; contentType: string; }; type EntitiesParseError = { fieldName: string; errorType: string; }; type EntitiesParseResultItem = { isValid: boolean; item: TItem; errors: EntitiesParseError[]; }; type EntitiesParseResult = { entries: ImportEntry[]; }; type EntitiesParseInput = { format: EntitySerializationFormat; file: EntitiesParseInputFile; payload?: TPayload; }; declare enum EntityVersionOperation { Create = "create", Update = "update", Upsert = "upsert", Delete = "delete" } type EntityVersionInput = { operationType: EntityVersionOperation; entityType: string; entityId: TEntityId; data?: TEntity; modifiedByUserId?: string; }; interface IEntityVersioningResults { paging?: IEntityVersionsResultsPaging; items: TResult[]; } interface IEntityVersionsSearchInput { entityType: string; params: IEntityVersionsSearchParameters; } interface IEntityVersioningProvider { isEnabled(): boolean; createVersion(input: EntityVersionInput): Promise; searchVersions(input: IEntityVersionsSearchInput): Promise>; } interface IEntityCreateCommand { execute(input: TEntityCreateData): Promise>; } interface IEntityUpdateCommand { execute(id: TEntityId, data: TEntityUpdateData): Promise>; } interface IEntityUpsertCommand { execute(id: TEntityId, data: TEntityUpdateData): Promise>; } interface IEntityDeleteCommand { execute(id: TEntityId): Promise; } type EntityVersionCommandInput = { operation: EntityVersionOperation; id: TEntityId; entity?: TEntity; }; interface IEntityVersionCommand { execute(input: EntityVersionCommandInput): Promise; } interface IEntitiesDeleteParameters { filters?: ISearchFilters; sorting?: ISearchSorting; } interface IEntitiesDeleteResult$1 { deletedCount: number; } interface IEntitiesDeleteCommand, TSorting> { execute(params: TEntitiesDeleteParameters): Promise; } interface IEntitiesExportCommand, TSorting extends SortingType, TCursor> { execute(input: EntitiesExportInput): Promise; } interface IEntitiesImportCommand { execute(input: EntitiesImportInput): Promise; } interface IEntitiesParseCommand { execute(input: EntitiesParseInput): Promise>; } interface IEntitiesSampleDownloadCommand { execute(input: EntitiesSampleDownloadOptions): Promise; } interface IEntityUpsertByParameters { filter: TEntityFilters; data: Partial; } interface IEntityUpsertByResult { id: string; } interface IEntityUpsertByCommand { execute(params: IEntityUpsertByParameters): Promise; } declare class PermissionsChecker { hasAny(context: IAuthenticationContext, permissions: string[]): boolean; hasAll(context: IAuthenticationContext, permissions: string[]): boolean; } declare abstract class NestEntityAuthorizationMiddleware, TUserContext> implements IEntityAuthorizationMiddleware { protected permissions: PermissionsChecker; abstract canSearch(context: TAuthenticationContext): Promise; abstract canRead(entity: Partial, context: TAuthenticationContext): Promise; abstract canCreate(entity: Partial, context: TAuthenticationContext): Promise; abstract canUpdate(entity: Partial, context: TAuthenticationContext): Promise; abstract canDelete(entity: Partial, context: TAuthenticationContext): Promise; abstract canDeleteItems(context: TAuthenticationContext): Promise; } type DeepPartial = { [P in keyof T]?: T[P] extends object ? DeepPartial : T[P]; }; type NonNullable$1 = T; type PipelineStepReference = { index: number; key?: string; name: string; }; type PipelineStepState = { reference: PipelineStepReference; context: TContext; stepInput: TStepInput; pipelineInput: TPipelineInput; previousStep?: PipelineCompletedStepState; }; type PipelineCompletedStepState = PipelineStepState & { stepOutput?: TStepOutput; }; type PipelineCurrentStepState = PipelineStepState & {}; type OperationDefinition = { key?: string; name: string; action: (input: TOperationInput, state: PipelineCurrentStepState) => Promise | TOperationOutput; precondition?: (input: TOperationInput, state: PipelineCurrentStepState) => Promise | boolean; skipIf?: (input: TOperationInput, state: PipelineCurrentStepState) => Promise | boolean; }; type RollbackOperationDefinition = { name: string; action: (input: TOperationInput, output: TOperationOutput, state: PipelineCurrentStepState) => Promise | void; }; type PipelineStepOperation = { key?: string; name: string; operation: OperationDefinition; rollbackOperations?: RollbackOperationDefinition[]; }; type PipelineStep = { name: string; operations: PipelineStepOperation[]; outputsReducer?: (results: unknown[]) => TStepOutput; }; type PipelineDefinition = { steps: PipelineStep[]; }; type PipelineOperationError = { message: string; stackTrace?: string; exception?: Error; }; type PipelineOperationResult = { key?: string; name: string; input: TOperationInput; } & ({ type: "success"; output: TOperationOutput; } | { type: "skipped"; } | { type: "preconditionFailed"; } | { type: "error" | "rollbackCompleted"; error: PipelineOperationError; } | { type: "rollbackFailed"; rollbackError: PipelineOperationError; error: PipelineOperationError; }); type PipelineOperationResultType = PipelineOperationResult["type"]; type PipelineOperationRollbackResult = { type: "success" | "skipped"; } | { type: "error"; error: PipelineOperationError; }; type PipelineOperationRollbackResultType = PipelineOperationRollbackResult["type"]; declare enum PipelineStepErrorType { FailedPrecondition = "failedPrecondition", OperationError = "operationError", RollbackError = "rollbackError", GenericError = "genericError" } type PipelineStepResult = { input: TStepInput; operationResults: PipelineOperationResult[]; } & ({ type: "success"; output: TStepOutput; } | { type: "error"; errorType: PipelineStepErrorType; }); type PipelineStepResultType = PipelineStepResult["type"]; type PipelineStepRollbackResult = {} & ({ type: "success"; } | { type: "error"; }); type PipelineStepRollbackResultType = PipelineStepRollbackResult["type"]; declare enum PipelineErrorType { FailedPrecondition = "failedPrecondition", OperationError = "operationError", RollbackError = "rollbackError", Unauthorized = "unauthorized", GenericError = "genericError" } type PipelineResult = { stepResults: PipelineStepResult[]; input: TPipelineInput; } & ({ type: "success"; output: TPipelineOutput; } | { type: "error"; errorType: PipelineErrorType; exception?: Error; output?: TPipelineOutput; }); type PipelineResultType = PipelineResult["type"]; declare enum PipelineStatus { Initializing = "initializing", Running = "running", RollbackInProgress = "rollbackInProgress", Completed = "completed", Failed = "failed" } interface IEntityCreateCommandAdapter { createDataToEntity(data: TEntityCreateData, context: IAuthenticationContext): DeepPartial; } interface IEntityUpdateCommandAdapter { updateDataToEntity(data: TEntityUpdateData, context: IAuthenticationContext): DeepPartial; } interface IEntityAdapter extends IEntityCreateCommandAdapter, IEntityUpdateCommandAdapter { } interface IAuthorizationResult { isAuthorized: boolean; } interface IEntityAuthorizationMiddleware, TUserContext> { canSearch(context: TAuthenticationContext): Promise; canRead(entity: DeepPartial, context: TAuthenticationContext): Promise; canCreate(entity: DeepPartial, context: TAuthenticationContext): Promise; canUpdate(entity: DeepPartial, context: TAuthenticationContext): Promise; canDelete(entity: DeepPartial, context: TAuthenticationContext): Promise; canDeleteItems(context: TAuthenticationContext): Promise; } type BucketFolderListInput = { bucket: string; maxResults?: number; path?: string; }; declare enum BucketItemType { File = "file", Folder = "folder" } type BucketContentItem = { type: BucketItemType; name: string; path: string; }; type BucketFolderContentResult = { items: BucketContentItem[]; }; type BucketFolderListResult = {}; type BucketFolderCreateInput = { bucket: string; path: string; }; type BucketFolderEnsureInput = { bucket: string; path: string; }; type BucketFolderExistsInput = { bucket: string; path: string; }; type BucketFileExistsInput = { bucket: string; filePath: string; }; type BucketFileDownloadInput = { bucket: string; filePath: string; }; type BucketFilePublicUrlCreateInput = { bucket: string; filePath: string; expirationMinutes: number; }; type BucketFileUploadInput = { bucket: string; filePath: string; content: Buffer; contentType?: string; }; type BucketFileDeleteInput = { bucket: string; filePath: string; }; type BucketFileCopyInput = { bucket: string; filePath: string; targetBucket: string; targetPath: string; }; type BucketFileMoveInput = { bucket: string; filePath: string; targetBucket: string; targetPath: string; }; interface IBucketProvider { folderList(input: BucketFolderListInput): Promise; folderEnsure(input: BucketFolderEnsureInput): Promise; folderExists(input: BucketFolderExistsInput): Promise; fileExists(input: BucketFileExistsInput): Promise; fileDownload(input: BucketFileDownloadInput): Promise; filePublicUrlCreate(input: BucketFilePublicUrlCreateInput): Promise; fileUpload(input: BucketFileUploadInput): Promise; fileDelete(input: BucketFileDeleteInput): Promise; } type CacheTtl = { value: number; unit: "years" | "months" | "days" | "hours" | "minutes" | "seconds"; }; type CacheEntryInfo = { instanceName: string; key: string; expiration: Date; createdOn: Date; updatedOn: Date; }; type CacheEntryDetail = CacheEntryInfo & { data: any; }; interface ICacheInstance { getInstanceName(): string; getEntries(): Promise; getEntry(key: string): Promise; get(key: string): Promise; set(key: string, input: { value: T; ttl: CacheTtl; }): Promise; retrieve(key: string, input: { ttl: CacheTtl; valueFactory: () => Promise; }): Promise; delete(key: string): Promise; clear(): Promise; } interface ICache { getInstance(instanceName: string): Promise; } interface IEntityMapper { mapEntity(entity: TEntity): Promise; } interface IEntityConnector { syncEntity(entity: TMappedType): Promise; deleteEntity(id: TEntityId): Promise; } interface IConnectorsConfiguration { configureConnector, TMappedType, TMapper extends IEntityMapper>(name: string, options: ConnectorOptions, connector: TEntityConnector, mapper: TMapper): void; getConnector(name: string): ConnectorConfiguration; getConnectors(): ConnectorConfiguration[]; } declare enum ConnectorMode { Sync = 0, Async = 1 } type ConnectorOptions = { mode: ConnectorMode; enabled?: boolean; }; type ConnectorConfiguration = { name: string; options: ConnectorOptions; connector: IEntityConnector; mapper: IEntityMapper; }; interface IEntityConnectorSyncManager { syncEntity(entity: TEntity): Promise; } interface IEntityConnectorDeleteManager { deleteEntity(entityId: TEntityId): Promise; } interface IEntitiesSearchActionConverter { toListItemDto(entity: TEntity): TListItemDto | Promise; } interface IEntityGetActionConverter { toEntityDto(entity: TEntity): TEntityDto | Promise; } interface IEntityCreateActionConverter { createDtoToEntity(data: TEntityCreateDto, context?: IAuthenticationContext): DeepPartial; toEntityDto(entity: TEntity): TEntityDto | Promise; } interface IEntityUpdateActionConverter { toEntityDto(entity: TEntity): TEntityDto | Promise; updateDtoToEntity(data: TEntityUpdateDto, context?: IAuthenticationContext): DeepPartial; } interface IEntityConverter extends IEntitiesSearchActionConverter, IEntityGetActionConverter, IEntityCreateActionConverter, IEntityUpdateActionConverter { } interface IEmailTemplateMiddleware { processPayload(payload: unknown): Promise; processInput(input: TemplatedEmailInput): Promise>; } interface IEmailTemplate { processPayload(payload: TPayload): Promise; getTemplateData(payload: TAugmentedPayload): Promise; } interface IEmailTemplatesCollection { registerTemplate(id: string, template: IEmailTemplate): void; getTemplate(id: string): IEmailTemplate; } type EmailAttachmentData = { content: string | Buffer; filename: string; type?: string; disposition?: string; contentId?: string; }; type TemplatedEmailInput = { from?: string; to?: string[]; cc?: string[]; bcc?: string[]; subjectTemplate?: string; templateId: string; languageCode: string; payload: TPayload; attachments?: EmailAttachmentData[]; }; interface HtmlEmailInput { replyTo?: string; from?: string; to?: string[]; cc?: string[]; bcc?: string[]; subjectTemplate: string; bodyTemplate: string; payload: TPayload; attachments?: EmailAttachmentData[]; } type EmailSendOptions = { sandboxMode?: boolean; forceDelivery?: boolean; }; interface IEmailProvider { sendTemplatedEmail(input: TemplatedEmailInput, template: IEmailTemplate, options?: EmailSendOptions): Promise; sendHtmlEmail(input: HtmlEmailInput, options?: EmailSendOptions): Promise; } interface IEmailLogger { logTemplatedEmail(input: TemplatedEmailInput): Promise; logHtmlEmail(input: HtmlEmailInput): Promise; } interface IEntityEventsManager { processEntityCreatedEvent(entity: TEntity): Promise; processEntityUpdatedEvent(entity: TEntity): Promise; processEntityDeletedEvent(id: TEntityId): Promise; } interface IEventEmitter { emit(event: string, ...args: any[]): Promise; } type FileData = { fileId?: string; content: Buffer; contentType: string; fileName: string; folderPath: string; storageFilePath?: string; storageBucket?: string; metadata?: Record; }; type FileDownloadUrl = { downloadUrl: string; contentType: string; fileName: string; }; type FileReference = { fileId: string; reference: string; providerId: string; }; interface IFileManager { uploadFile(file: FileData): Promise; removeFile(fileId: string): Promise; getFileContent(fileId: string): Promise; getFileDownloadUrl(fileId: string): Promise; } type FilesReferenceData = { reference: string; providerId: string; metadata?: Record; fileId?: string; fileName: string; filePath: string; fileSize: number; contentType: string; }; type FileReferenceRecord = FilesReferenceData & { fileId: string; createdOn: Date; updatedOn: Date; }; interface IFilesReferenceRepository { searchReference({ reference, providerId, }: { reference: string; providerId: string; }): Promise; getReference(fileId: string): Promise; createReference(file: FilesReferenceData): Promise; updateReference(fileId: string, file: FilesReferenceData): Promise; deleteReference(fileId: string): Promise; } type FileProviderReference = { reference: string; bucket?: string; }; type FileProviderUploadData = { fileId?: string; fileName: string; filePath?: string; content: Buffer; contentType: string; bucket?: string; }; type FileProviderDownloadData = { content: Buffer; }; type FileProviderDownloadUrl = { downloadUrl: string; }; interface IFileProvider { getProviderId(): string; uploadFile(file: FileProviderUploadData): Promise; deleteFile(reference: FileProviderReference): Promise; downloadFile(reference: FileProviderReference): Promise; getFileProviderDownloadUrl(reference: FileProviderReference): Promise; get defaultBucket(): string; } interface IEntityFacetValue { value: T; label: string; count: number; } interface IEntityFacet { values: IEntityFacetValue[]; } interface IEntityFacets { } interface IEntitySearchResults, TResult, TSorting extends SortingType, TCursor, TFacets> { request: TSearchParameters; items: TResult[]; Facets?: TFacets; paging?: ISearchResultsPaging; } interface ISearchResultsPaging { pageIndex: number; pageSize: number; totPages: number; nextPageCursor?: TCursor; currentPageCursor?: TCursor; prevPageCursor?: TCursor; } interface IEntityManager, TEntitySearchParameters extends IEntitySearchParameters, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> { get get(): IEntityGetQuery; get search(): IEntitiesSearchQuery; get find(): IEntitiesFindQuery; get exists(): IEntityExistsQuery>; get count(): IEntitiesCountQuery>; get version(): IEntityVersionCommand; get create(): IEntityCreateCommand; get update(): IEntityUpdateCommand; get upsert(): IEntityUpsertCommand; get upsertBy(): IEntityUpsertByCommand>; get delete(): IEntityDeleteCommand; get deleteItems(): IEntitiesDeleteCommand; get import(): IEntitiesImportCommand; get parse(): IEntitiesParseCommand; get export(): IEntitiesExportCommand; get sampleDownload(): IEntitiesSampleDownloadCommand; get versions(): IEntityVersionsSearchQuery; } type MediaUploadInput = { fileName: string; content: Buffer; contentType?: string; folderId?: string; }; type MediaReference = { ref: string; }; type MediaItemReference = { id: string; ref: string; folderId?: string; }; type IMediaProvider = { mediaUpload(input: MediaUploadInput): Promise; mediaDelete(input: MediaReference): Promise; mediaDownload(input: MediaReference): Promise; getFileName(input: MediaReference): string; getProviderId(): string; }; type MediaReferenceRecord = { id: string; ref: string; folderId?: string; createdOn: Date; updatedOn: Date; }; type MediaReferenceCreateInput = { media: MediaReference; fileName: string; contentType?: string; folderId?: string; providerId: string; }; type IMediaReferenceRepository = { getReference(file: MediaReference): Promise; createReference(input: MediaReferenceCreateInput): Promise; updateReferenceFolder(file: MediaReference, folderId: string | undefined): Promise; deleteReference(file: MediaReference): Promise; getFolderReferences(folderId?: string): Promise; }; type MediaFolderRecord = { id: string; name: string; createdOn: Date; updatedOn: Date; }; type IMediaFolderRepository = { folderCreate(input: { name: string; parentId?: string; organizationId?: string; }): Promise; folderRename(id: string, name: string): Promise; folderMove(id: string, parentId?: string): Promise; folderDelete(id: string): Promise; foldersList(parentId?: string): Promise; folderFind(name: string, parentId?: string): Promise; }; type MediaFolderCreateInput = { folderName: string; parentId?: string; organizationId?: string; }; type MediaFolderReference = { id: string; name: string; }; type MediaFolderRenameInput = { id: string; folderName?: string; }; type MediaFolderMoveInput = { id: string; folderId?: string; }; type MediaInfo = { ref: string; fileName: string; }; type MediaFolderEnsureInput = { path: string[]; organizationId?: string; }; type IMediaLibraryManager = { mediaUpload(input: MediaUploadInput): Promise; mediaDelete(input: MediaReference): Promise; mediaDownload(input: MediaReference): Promise; folderEnsure(input: MediaFolderEnsureInput): Promise; folderCreate(input: MediaFolderCreateInput): Promise; folderDelete(input: MediaFolderReference): Promise; folderMove(input: MediaFolderMoveInput): Promise; folderRename(input: MediaFolderRenameInput): Promise; foldersList(parent?: MediaFolderReference): Promise; getFolderMedia(input: MediaFolderReference): Promise; }; type LockItem = { uid: string; lockedBy?: string; createdOn: Date; }; type LockAcquireInput = { lockUid: string; requestedBy?: string; }; type LockAcquireResult = { available: boolean; lockItem: LockItem; }; type LockReleaseInput = { lockUid: string; }; declare class LockNotFoundError extends Error { } interface ILockRepository { acquireLock(input: LockAcquireInput): Promise; releaseLock(input: LockReleaseInput): Promise; getLock(lockUid: string): Promise; } interface ExecuteSequentialInput { lockUid: string; requestedBy?: string; lockTimeout?: number; lockPolling?: number; operation: () => Promise; } declare class ExclusiveOperationResult { skipped: boolean; result?: T; } interface ExecuteExclusiveInput { lockUid: string; requestedBy?: string; lockTimeout?: number; operation: () => Promise; } interface IOperationLockService { executeSequential(input: ExecuteSequentialInput): Promise; executeExclusive(input: ExecuteExclusiveInput): Promise>; } interface IPipelineInstance { execute(): Promise>; } interface IPipelinesController { createInstance(definition: PipelineDefinition, input: TPipelineInput, context: TContext | undefined): Promise>; } type PipelineConcurrency = "exclusive" | "sequential"; interface IEntitiesDeleteResult { deletedCount: number; } interface IEntityRepository { exists(id: TEntityId): Promise; existsBy(condition: TGetConditions): Promise; get(id: TEntityId): Promise; getBy(condition: TGetConditions): Promise; all(): Promise; find(condition: TFindCondition): Promise; findOne(condition: TFindCondition): Promise; findOneOrFail(condition: TFindCondition): Promise; findById(id: TEntityId[]): Promise; count(condition: TFindCondition): Promise; delete(id: TEntityId): Promise; deleteBy(condition: TDeleteCondition): Promise; create(entity: DeepPartial): Promise; update(id: TEntityId, entity: DeepPartial): Promise; updateBy(entity: DeepPartial, condition: TUpdateCondition): Promise; upsert(id: TEntityId, entity: DeepPartial): Promise; upsertBy({ data, filter, }: { data: Partial; filter: TFindCondition; }): Promise>; } interface IReplicasConfiguration { configureReplica>(name: string, options: ReplicaOptions, repository: TRepository): void; getReplica(name: string): ReplicaConfiguration; getReplicas(): ReplicaConfiguration[]; } declare enum ReplicationMode { Sync = 0, Async = 1 } type ReplicaOptions = { mode: ReplicationMode; enabled?: boolean; }; type ReplicaConfiguration = { name: string; options: ReplicaOptions; repository: IEntityRepository; }; interface IEntityReplicaDeleteManager { deleteReplicas(entityId: TEntityId): Promise; } interface IEntityReplicaSyncManager { syncReplicas(entity: TEntity): Promise; } type AppSecretType = "string" | "number" | "boolean" | "json"; type AppSecretDefinition = { key: string; type: AppSecretType; hidden: boolean; defaultValue?: any; }; type AppSecret = { key: string; value: TValue; type: AppSecretType; hidden: boolean; timestamp: number; }; type AppSecretInput = { key: string; value: TValue; }; type AppSecretsPageMetadata = { tags?: { key: string; value: string; }[]; }; interface ISecretsProvider { getSecrets(pageName: string): Promise[]>; setSecret(pageName: string, secret: AppSecret): Promise; defineSecret(pageName: string, definition: AppSecretDefinition): Promise; pageInitialize(pageName: string, metadata: AppSecretsPageMetadata): Promise; pageEnsure(pageName: string, metadata: AppSecretsPageMetadata): Promise; pageExists(pageName: string): Promise; } type EntityManagerSettings = { importExport: EntitiesImportExportSettings; defaultBucketProvider: string; defaultFilesProvider: string; defaultMediaProvider: string; }; type EntityVersioningOptions$1 = { enabled: boolean; }; type IEntityConfiguration = { name: string; versioning?: EntityVersioningOptions$1; }; interface IEntitySnapshotService { getSnapshot(id: TEntityId): Promise; } interface IEventLog { type: string; payload?: TPayload; userId?: string; userName?: string; timestamp: Date; } interface IEventsTracker> { track(log: TEventLog): Promise; } interface IResolveServiceOptions { optional?: boolean; } interface IServiceLocator { register(name: string, service: Type): void; registerEntityService(serviceName: string, entityName: string, service: T): void; registerEntityServiceType(serviceType: Type, entityName: string, service: T): void; resolve(name: string, options?: IResolveServiceOptions): T; resolveEntityService(serviceName: string, entityName: string, options?: IResolveServiceOptions): T; resolveEntityServiceType(serviceType: Type, entityName: string, options?: IResolveServiceOptions): T; } declare class ServiceLocator implements IServiceLocator { private services; private multipleServices; private logger; all(): { [key: string]: any; }; register(name: string, service: T): void; registerMultiple(serviceName: string, instanceName: string, service: T): void; registerEntityService(serviceName: string, entityName: string, service: T): void; registerEntityServiceType(serviceType: Type, entityName: string, service: T): void; resolve(name: string, options?: IResolveServiceOptions): T; resolveMultiple(serviceName: string, options?: IResolveServiceOptions): T[]; resolveMultipleNamed(serviceName: string, instanceName: string, options?: IResolveServiceOptions): T; resolveEntityService(serviceName: string, entityName: string, options?: IResolveServiceOptions): T; resolveEntityServiceType(serviceType: Type, entityName: string, options?: IResolveServiceOptions): T; private buildServiceTypeName; private buildServiceName; } declare class EntitiesServiceLocator { private readonly provider; constructor(provider: ServiceLocator); getProvider(): ServiceLocator; registerSettings(settings: EntityManagerSettings): this; resolveSettings(): EntityManagerSettings; resolveEventEmitter(): TEventEmitter; registerEventEmitter(instance: TEventEmitter): void; resolveEmailProvider>(): TEmailProvider; registerEmailProvider>(instance: TEmailProvider): void; resolveEntityVersioningProvider(): TEntityVersioningProvider; registerEntityVersioningProvider(instance: TEntityVersioningProvider): void; resolveDefaultBucketProvider(): TBucketProvider; resolveDefaultFilesProvider(): TFileProvider; resolveDefaultMediaProvider(): TMediaProvider; resolveCacheInstance(name: string): TCacheInstance; resolveCacheInstances(): TCacheInstance[]; registerCacheInstance(name: string, instance: TCacheInstance): this; resolveBucketProviders(): TBucketProvider[]; registerBucketProvider(name: string, instance: TBucketProvider): this; resolveSecretsProviders(): TSecretsProvider[]; registerSecretsProvider(name: string, instance: TSecretsProvider): this; resolveAuthenticationMiddlewares>(): TAuthenticationMiddleware[]; registerAuthenticationMiddleware>(name: string, instance: TAuthenticationMiddleware): this; resolveMediaReferenceRepository(): TMediaReferenceRepository; registerMediaReferenceRepository(instance: TMediaReferenceRepository): void; resolveMediaFolderRepository(): TMediaFolderRepository; registerMediaFolderRepository(instance: TMediaFolderRepository): void; resolveMediaProvider(providerId: string): TMediaProvider; registerMediaProvider(name: string, instance: TMediaProvider): this; resolveFileProvider(providerId: string): TFileProvider; registerFileProvider(name: string, instance: TFileProvider): this; resolveFilesReferenceRepositoryProviders(): TFilesReferenceRepo; registerFilesReferenceRepositoryProviders(instance: TFilesReferenceRepo): void; resolveEventsTracker, TEventLog extends IEventLog>(): TEventsTracker; registerEventsTracker, TEventLog extends IEventLog>(instance: TEventsTracker): void; resolveOperationLockService(): IOperationLockService; registerOperationLockService(instance: IOperationLockService): void; resolveEmailTemplatesCollection(): IEmailTemplatesCollection; registerEmailTemplatesCollection(instance: IEmailTemplatesCollection): void; resolveEmailTemplateMiddleware(): IEmailTemplateMiddleware | undefined; registerEmailTemplateMiddleware(instance: IEmailTemplateMiddleware): void; resolveEmailLogger(): IEmailLogger; registerEmailLogger(instance: IEmailLogger): void; resolvePipelinesController(): IPipelinesController; registerPipelinesController(instance: IPipelinesController): void; resolveAuthenticationContextProvider, TUserContext>(): TAuthenticationContextProvider; registerAuthenticationContextProvider, TUserContext>(instance: TAuthenticationContextProvider): void; resolveEntityConfiguration(entityName: string): IEntityConfiguration; registerEntityConfiguration(entityName: string, instance: IEntityConfiguration): void; resolveEntityManager(entityName: string): IEntityManager; registerEntityManager(entityName: string, instance: IEntityManager): void; resolveEntityActions(entityName: string): IEntityActions; registerEntityActions(entityName: string, instance: IEntityActions): void; resolveRepository(entityName: string): IEntityRepository; registerRepository(entityName: string, instance: IEntityRepository): void; resolveEventsManager(entityName: string): IEntityEventsManager; registerEventsManager(entityName: string, instance: IEntityEventsManager): void; resolveReplicaSyncManager(entityName: string): IEntityReplicaSyncManager; registerReplicaSyncManager(entityName: string, instance: IEntityReplicaSyncManager): void; resolveReplicaConfiguration(entityName: string): IReplicasConfiguration; registerReplicaConfiguration(entityName: string, instance: IReplicasConfiguration): void; resolveReplicaDeleteManager(entityName: string): IEntityReplicaDeleteManager; registerReplicaDeleteManager(entityName: string, instance: IEntityReplicaDeleteManager): void; resolveConnectorSyncManager(entityName: string): IEntityConnectorSyncManager; registerConnectorSyncManager(entityName: string, instance: IEntityConnectorSyncManager): void; resolveConnectorDeleteManager(entityName: string): IEntityConnectorDeleteManager; registerConnectorDeleteManager(entityName: string, instance: IEntityConnectorDeleteManager): void; resolveConnectorsConfiguration(entityName: string): IConnectorsConfiguration; registerConnectorsConfiguration(entityName: string, instance: IConnectorsConfiguration): void; registerAdapter(entityName: string, instance: IEntityAdapter): void; resolveAdapter(entityName: string): IEntityAdapter | undefined; registerConverter(entityName: string, instance: IEntityConverter): void; resolveConverter(entityName: string): IEntityConverter | undefined; registerSerializer(entityName: string, instance: IEntitySerializer): void; resolveSerializer(entityName: string): IEntitySerializer; registerSnapshotService(entityName: string, instance: IEntitySnapshotService): void; resolveSnapshotService(entityName: string): IEntitySnapshotService | undefined; resolveAuthorizationMiddleware, TUserContext>(entityName: string): IEntityAuthorizationMiddleware | undefined; registerAuthorizationMiddleware, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware): void; resolveGetQuery>(entityName: string): IEntityGetQuery; registerGetQuery>(entityName: string, instance: IEntityGetQuery): void; resolveSearchQuery, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchQuery; registerSearchQuery, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchQuery): void; resolveFindQuery, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesFindQuery; registerFindQuery, TSorting extends SortingType, TCursor>(entityName: string, instance: IEntitiesFindQuery): void; resolveExistsQuery(entityName: string): IEntityExistsQuery; registerExistsQuery(entityName: string, instance: IEntityExistsQuery): void; resolveCountQuery(entityName: string): IEntitiesCountQuery; registerCountQuery(entityName: string, instance: IEntitiesCountQuery): void; resolveVersionsSearchQuery(entityName: string): IEntityVersionsSearchQuery; registerVersionsSearchQuery(entityName: string, instance: IEntityVersionsSearchQuery): void; resolveCreateCommand(entityName: string): IEntityCreateCommand; registerCreateCommand(entityName: string, instance: IEntityCreateCommand): void; resolveUpdateCommand(entityName: string): IEntityUpdateCommand; registerUpdateCommand(entityName: string, instance: IEntityUpdateCommand): void; resolveUpsertCommand(entityName: string): IEntityUpsertCommand; registerUpsertCommand(entityName: string, instance: IEntityUpsertCommand): void; registerUpsertByCommand(entityName: string, instance: IEntityUpsertByCommand): void; resolveUpsertByCommand(entityName: string): IEntityUpsertByCommand; resolveDeleteItemsCommand, TSorting>(entityName: string): IEntitiesDeleteCommand; registerDeleteItemsCommand, TSorting>(entityName: string, instance: IEntitiesDeleteCommand): void; resolveDeleteCommand(entityName: string): IEntityDeleteCommand; registerDeleteCommand(entityName: string, instance: IEntityDeleteCommand): void; resolveVersionCommand(entityName: string): IEntityVersionCommand; registerVersionCommand(entityName: string, instance: IEntityVersionCommand): void; resolveExportCommand, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesExportCommand; registerExportCommand, TSorting extends SortingType, TCursor>(entityName: string, instance: IEntitiesExportCommand): void; resolveImportCommand(entityName: string): IEntitiesImportCommand; registerImportCommand(entityName: string, instance: IEntitiesImportCommand): void; resolveParseCommand(entityName: string): IEntitiesParseCommand; registerParseCommand(entityName: string, instance: IEntitiesParseCommand): void; resolveSampleDownloadCommand(entityName: string): IEntitiesSampleDownloadCommand; registerSampleDownloadCommand(entityName: string, instance: IEntitiesSampleDownloadCommand): void; resolveGetAction>(entityName: string): IEntityGetAction; registerGetAction>(entityName: string, instance: IEntityGetAction): void; resolveExistsAction(entityName: string): IEntityExistsAction; registerExistsAction(entityName: string, instance: IEntityExistsAction): void; resolveCountAction(entityName: string): IEntitiesCountAction; registerCountAction(entityName: string, instance: IEntitiesCountAction): void; resolveSearchAction, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchAction; registerSearchAction, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchAction): void; resolveVersionsSearchAction(entityName: string): IEntityVersionsSearchAction; registerVersionsSearchAction(entityName: string, instance: IEntityVersionsSearchAction): void; resolveCreateAction(entityName: string): IEntityCreateAction; registerCreateAction(entityName: string, instance: IEntityCreateAction): void; resolveUpdateAction(entityName: string): IEntityUpdateAction; registerUpdateAction(entityName: string, instance: IEntityUpdateAction): void; resolveUpsertAction(entityName: string): IEntityUpsertAction; registerUpsertAction(entityName: string, instance: IEntityUpsertAction): void; resolveDeleteAction(entityName: string): IEntityDeleteAction; registerDeleteAction(entityName: string, instance: IEntityDeleteAction): void; resolveDeleteItemsAction, TSorting>(entityName: string): IEntitiesDeleteAction; registerDeleteItemsAction, TSorting>(entityName: string, instance: IEntitiesDeleteAction): void; resolveExportAction, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesExportAction; registerExportAction, TSorting extends SortingType, TCursor>(entityName: string, instance: IEntitiesExportAction): void; resolveSampleDownloadAction(entityName: string): IEntitiesSampleDownloadAction; registerSampleDownloadAction(entityName: string, instance: IEntitiesSampleDownloadAction): void; resolveImportAction(entityName: string): IEntitiesImportAction; registerImportAction(entityName: string, instance: IEntitiesImportAction): void; resolveParseAction(entityName: string): IEntitiesParseAction; registerParseAction(entityName: string, instance: IEntitiesParseAction): void; resolveQueryBuilder, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(entityName: string): IEntitiesQueryBuilder; registerQueryBuilder, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(entityName: string, instance: IEntitiesQueryBuilder): void; } declare class EntityServiceLocator { private readonly services; private readonly entityName; constructor(services: EntitiesServiceLocator, entityName: string); getRootServices(): EntitiesServiceLocator; resolveAuthenticationContextProvider, TUserContext>(): TAuthenticationContextProvider; resolveEntityManager(): IEntityManager; resolveEntityActions(): IEntityActions; resolveRepository(): IEntityRepository; resolveEventsManager(): IEntityEventsManager; resolveVersioningProvider(): IEntityVersioningProvider; resolveEntityConfiguration(): IEntityConfiguration; resolveReplicaSyncManager(): IEntityReplicaSyncManager; resolveReplicaConfiguration(): IReplicasConfiguration; resolveReplicaDeleteManager(): IEntityReplicaDeleteManager; resolveConnectorSyncManager(): IEntityConnectorSyncManager; resolveConnectorDeleteManager(): IEntityConnectorDeleteManager; resolveConnectorsConfiguration(): IConnectorsConfiguration; resolveConverter(): IEntityConverter | undefined; resolveSerializer(): IEntitySerializer; resolveSnapshotService(): IEntitySnapshotService | undefined; resolveAdapter(): IEntityAdapter | undefined; resolveAuthorizationMiddleware, TUserContext>(): IEntityAuthorizationMiddleware | undefined; resolveGetQuery>(): IEntityGetQuery; resolveExistsQuery(): IEntityExistsQuery; resolveCountQuery(): IEntitiesCountQuery; resolveVersionsSearchQuery(): IEntityVersionsSearchQuery; resolveSearchQuery, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery; resolveFindQuery, TSorting extends SortingType, TCursor>(): IEntitiesFindQuery; resolveCreateCommand(): IEntityCreateCommand; resolveUpdateCommand(): IEntityUpdateCommand; resolveUpsertCommand(): IEntityUpsertCommand; resolveUpsertByCommand(): IEntityUpsertByCommand; resolveDeleteCommand(): IEntityDeleteCommand; resolveDeleteItemsCommand, TSorting>(): IEntitiesDeleteCommand; resolveVersionCommand(): IEntityVersionCommand; resolveSampleDownloadCommand(): IEntitiesSampleDownloadCommand; resolveImportCommand(): IEntitiesImportCommand; resolveParseCommand(): IEntitiesParseCommand; resolveExportCommand, TSorting extends SortingType, TCursor>(): IEntitiesExportCommand; resolveGetAction>(): IEntityGetAction; resolveExistsAction(): IEntityExistsAction; resolveCountAction(): IEntitiesCountAction; resolveSearchAction, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction; resolveVersionsSearchAction(): IEntityVersionsSearchAction; resolveCreateAction(): IEntityCreateAction; resolveUpdateAction(): IEntityUpdateAction; resolveUpsertAction(): IEntityUpsertAction; resolveDeleteAction(): IEntityDeleteAction; resolveDeleteItemsAction, TSorting>(): IEntitiesDeleteAction; resolveImportAction(): IEntitiesImportAction; resolveParseAction(): IEntitiesParseAction; resolveSampleDownloadAction(): IEntitiesSampleDownloadAction; resolveExportAction, TSorting extends SortingType, TCursor>(): IEntitiesExportAction; resolveQueryBuilder, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(): IEntitiesQueryBuilder; getEntityName(): string; } interface EntityAuthMiddlewareProps { entityName: string; } declare const WpEntityAuthMiddleware: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface GlobalAuthenticationMiddlewareProps { name: string; weight?: number; } declare const WpGlobalAuthenticationMiddleware: (name: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface BucketProviderProps { providerId: string; } declare const WpBucketProvider: (providerId: string) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface CacheInstanceProps { instanceName: string; } declare const WpCacheInstance: (instanceName: string) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityActionsProps { entityName: string; } declare const WpEntityActions: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityAdapterProps { entityName: string; } declare const WpEntityAdapter: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityConnectorProps extends ConnectorOptions { entityName: string; connectorName: string; } declare const WpEntityConnector: (entityName: string, props: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityConnectorMapperProps { entityName: string; connectorName: string; } declare const WpEntityConnectorMapper: (entityName: string, props: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityConverterProps { entityName: string; } declare const WpEntityConverter: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EmailTemplateProps { templateId: string; } declare const WpEmailTemplate: (templateId: string) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EmailProviderProps { providerId: string; } declare const WpEmailProvider: (providerId: string) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EmailLoggerProps { } declare const WpEmailLogger: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EmailTemplateMiddlewareProps { } declare const WpEmailTemplateMiddleware: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; type EntityVersioningOptions = { enabled: boolean; }; interface EntityProps { name: string; description?: string; versioning?: EntityVersioningOptions; } declare const WpEntity: (name: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface FileProviderProps { providerId: string; } declare const WpFileProvider: (providerId: string) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface FileReferenceRepositoryProps { } declare const WpFileReferenceRepository: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface AppInitializerProps { priority?: number; } declare const WpAppInitializer: (props?: AppInitializerProps) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityRepositoryProps { entityName: string; } declare const WpEntityRepository: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityManagerProps { entityName: string; } declare const WpEntityManager: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface MediaProviderProps { providerId: string; } declare const WpMediaProvider: (providerId: string) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface MediaReferenceRepositoryProps { } declare const WpMediaReferenceRepository: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface MediaFolderRepositoryProps { } declare const WpMediaFolderRepository: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityQueryBuilderProps { entityName: string; } declare const WpEntityQueryBuilder: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; type PipelineTemplateOptions$1 = { logging?: { enabled?: boolean; ignoreMeta?: boolean; }; }; type PipelineTemplateProps = { name: string; description?: string; concurrency?: PipelineConcurrency; options?: PipelineTemplateOptions$1; }; declare const WpPipeline: (name: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntitySeederProps { entityName: string; priority?: number; } declare const WpEntitySeeder: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntitySerializerProps { entityName: string; } declare const WpEntitySerializer: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntitySnapshotServiceProps { entityName: string; } declare const WpEntitySnapshotService: (entityName: string, props?: Omit) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; declare const EntityManagerSymbols: { GlobalAuthenticationMiddleware: symbol; AppInitializer: symbol; EventsTracker: symbol; Entity: symbol; EntityActions: symbol; EntityAdapter: symbol; EntityAuthMiddleware: symbol; EntityRepository: symbol; EntityConnector: symbol; EntityConnectorMapper: symbol; EntityConverter: symbol; EntitySerializer: symbol; EntitySnapshotService: symbol; EntityManager: symbol; EntityQueryBuilder: symbol; EntitySeeder: symbol; EntityVersioningProvider: symbol; EmailProvider: symbol; EmailTemplate: symbol; EmailLogger: symbol; EmailTemplateMiddleware: symbol; BucketProvider: symbol; MediaProvider: symbol; MediaReferenceRepository: symbol; MediaFolderRepository: symbol; SecretsProvider: symbol; FileProvider: symbol; FileReferenceRepository: symbol; PipelineTemplate: symbol; CacheInstance: symbol; OperationLockService: symbol; }; declare enum TaskConcurrency { Single = "single", Multiple = "multiple" } type TaskSettings = { cronExpression?: string; concurrency: TaskConcurrency; description?: string; displayName?: string; hidden?: boolean; }; type TaskProps = TaskSettings & { name: string; }; declare function WpTask(name: string, settings: TaskSettings): (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EventsTrackerProps { disabled?: boolean; } declare const WpEventsTracker: (props?: EventsTrackerProps) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface EntityVersioningProviderProps { disabled?: boolean; } declare const WpEntityVersioningProvider: (props?: EntityVersioningProviderProps) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; interface IDiscoveryService { providersWithMetaAtKey(metaKey: MetaKey): Promise[]>; } interface DiscoveredModule { name: string; instance: T; injectType?: Function | Type$1; dependencyType: Type$1; } interface DiscoveredClass extends DiscoveredModule { parentModule?: DiscoveredModule; } interface DiscoveredMethod { handler: (...args: any[]) => any; methodName: string; parentClass: DiscoveredClass; } interface DiscoveredMethodWithMeta { discoveredMethod: DiscoveredMethod; meta: T; } interface DiscoveredClassWithMeta { discoveredClass: DiscoveredClass; meta: T; } type MetaKey = string | number | symbol; type Filter = (item: T) => boolean; declare class ModulesContainerProvider { private modulesContainer; setModulesContainer(modulesContainer: ModulesContainer): void; getModules(): [string, Module][]; } declare class CustomDiscoveryService implements IDiscoveryService { private readonly modulesContainer; private readonly metadataScanner; private discoveredControllers?; private discoveredProviders?; constructor(modulesContainer: ModulesContainerProvider, metadataScanner: MetadataScanner); /** * Discovers all providers in a Nest App that match a filter * @param filter */ providers(filter: Filter): Promise; /** * Discovers all controller methods that either directly have a certain meta key attached to them * or belong to a controller that has the same meta key attached to them * @param metaKey The meta key to scan for * @param metaFilter An optional filter for the contents of the meta object */ methodsAndControllerMethodsWithMetaAtKey(metaKey: MetaKey, metaFilter?: Filter): Promise[]>; /** * Discovers all providers in an App that have meta at a specific key and returns the provider(s) and associated meta * @param metaKey The metakey to scan for */ providersWithMetaAtKey(metaKey: MetaKey): Promise[]>; providerWithMetaAtKey(metaKey: MetaKey): Promise | undefined>; /** * Discovers all controllers in a Nest App that match a filter * @param filter */ controllers(filter: Filter): Promise; /** * Discovers all controllers in an App that have meta at a specific key and returns the controller(s) and associated meta * @param metaKey The metakey to scan for */ controllersWithMetaAtKey(metaKey: MetaKey): Promise[]>; /** * Discovers all method handlers matching a particular metakey from a Provider or Controller * @param component * @param metaKey */ classMethodsWithMetaAtKey(component: DiscoveredClass, metaKey: MetaKey): DiscoveredMethodWithMeta[]; /** * Discovers all the methods that exist on providers in a Nest App that contain metadata under a specific key * @param metaKey The metakey to scan for * @param providerFilter A predicate used to limit the providers being scanned. Defaults to all providers in the app module */ providerMethodsWithMetaAtKey(metaKey: MetaKey, providerFilter?: Filter): Promise[]>; /** * Discovers all the methods that exist on controllers in a Nest App that contain metadata under a specific key * @param metaKey The metakey to scan for * @param controllerFilter A predicate used to limit the controllers being scanned. Defaults to all providers in the app module */ controllerMethodsWithMetaAtKey(metaKey: MetaKey, controllerFilter?: Filter): Promise[]>; private toDiscoveredClass; private extractMethodMetaAtKey; private discover; private getModuleEntries; } /** * Exposes a query API over top of the NestJS Module container * * @export * @class DiscoveryModule */ declare class CustomDiscoveryModule { } declare class EntityManagerRegistry { private readonly container; getContainer(): IEntityManagerServiceRoot; registerGlobalServices({ eventEmitter, }: { eventEmitter?: IEventEmitter; }): Promise; registerDiscoveredEntity(app: INestApplicationContext, { adapter, entityName, entity, converter, queryBuilder, repository, authMiddleware, serializer, snapshotService, connectors, connectorMappers, settings, }: { entityName: string; entity: DiscoveredClassWithMeta; repository: DiscoveredClassWithMeta; converter: DiscoveredClassWithMeta; adapter: DiscoveredClassWithMeta; queryBuilder: DiscoveredClassWithMeta; serializer: DiscoveredClassWithMeta; snapshotService?: DiscoveredClassWithMeta; authMiddleware?: DiscoveredClassWithMeta; connectors?: DiscoveredClassWithMeta[]; connectorMappers?: DiscoveredClassWithMeta[]; settings: EntityManagerSettings; }): Promise; resolveEntityServicesCollection(entityName: string): EntityServiceLocator; } declare const buildProviderToken: (name: string) => string; declare const EntityManagerProviderToken: { DiscoveryService: {}; OperationsLockRepository: {}; JobInstancesRepository: {}; JobDefinitionsRepository: {}; }; declare const getEntityManagerProviderToken: (name: keyof typeof EntityManagerProviderToken) => string; declare abstract class NestEntityActions, TEntitySearchParameters extends IEntitySearchParameters, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> { protected readonly services: EntityServiceLocator; private actionsInstance; constructor(entityName: string, registry: EntityManagerRegistry); protected get converter(): IEntityConverter | undefined; get manager(): IEntityActions; } declare abstract class NestEntityManager, TEntitySearchParameters extends IEntitySearchParameters, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> { protected readonly services: EntityServiceLocator; private managerInstance; constructor(entityName: string, registry: EntityManagerRegistry); get manager(): IEntityManager; getRepository>(): TRepository; } type EntitySerializerOptions = { delimiter?: string; }; declare abstract class EntitySerializer implements IEntitySerializer { protected readonly services: EntityServiceLocator; protected readonly options?: EntitySerializerOptions | undefined; private readonly logger; protected readonly entityName: string; constructor(services: EntityServiceLocator, options?: EntitySerializerOptions | undefined); export(filters?: TEntitySearchParameters, payload?: TPayload): Promise; import(items: TSheetItem[], payload?: TPayload): Promise; parse(data: Buffer, format: EntitySerializationFormat, payload?: TPayload): Promise[]>; protected importItems(items: TSheetItem[], context: TContext, payload?: TPayload): Promise; private parseCsv; private parseXlsx; private convertSheetRecord; private parseColumnValue; createSample(format: EntitySerializationFormat): Promise; private buildSampleFile; serialize(data: TSheetItem[], format: EntitySerializationFormat, payload?: TPayload): Promise; protected abstract getDefinition(context: TContext, payload?: TPayload): Promise>; protected abstract loadEntities(filters?: TEntitySearchParameters): Promise; protected abstract convertToSheetItems(entities: TEntity[], payload?: TPayload): Promise; protected validateSheetItem(item: TSheetItem, allItems: TSheetItem[], context: TContext): void; protected abstract importItem(item: TSheetItem, context: TContext, payload?: TPayload): Promise>; protected getContext(): Promise; private buildExportFile; private getColumnValue; private selectColumnValue; private buildExportFileName; } declare abstract class NestEntitySerializer, TSorting extends SortingType, TCursor, TSheetItem, TContext, TPayload = unknown> extends EntitySerializer { private readonly registry; constructor(entityName: string, registry: EntityManagerRegistry, options?: EntitySerializerOptions); protected get manager(): IEntityManager; } declare abstract class EntitySnapshotService implements IEntitySnapshotService { protected readonly entityName: string; constructor(entityName: string); abstract getSnapshot(id: TEntityId): Promise; } declare abstract class NestEntitySnapshotService extends EntitySnapshotService { protected readonly services: EntityServiceLocator; constructor(entityName: string, registry: EntityManagerRegistry); get repository(): TEntityRepository; } interface IAuthService { } interface IAuthRole { id: string; uid: string; name: string; } interface IAuthPermission { id: string; uid: string; name: string; } interface IAuthOrganizationalUnit { id: string; uid: string; name: string; } interface IAuthUserProfile { firstName: string; lastName: string; } interface IAuthTenant { id: string; uid: string; name: string; } interface IAuthOrganization { id: string; uid: string; name: string; tenant: IAuthTenant; } interface IAuthDirectory { id: string; uid: string; name: string; } interface IAuthApiKey { id: string; key: string; name: string; disabled: boolean; organization?: IAuthOrganization; } interface IAuthUser { id: string; passwordHash: string; passwordUpdateTimestamp?: Date; temporaryPassword: boolean; userName: string; email: string; verified: boolean; verifiedTimestamp?: Date; disabled: boolean; profile: IAuthUserProfile; organization?: IAuthOrganization; directory?: IAuthDirectory; } interface IAuthUserContext { organizationUid?: string; directoryUid?: string; } interface IAuthUserTokenData { userId: string; email: string; context?: TContext; } interface IAuthUserService { getById(id: string): Promise; getByEmail(email: string, context?: TUserContext): Promise; getByUserName(userName: string, context?: TUserContext): Promise; update(id: string, data: Partial): Promise; delete(id: string): Promise; create(email: string, userName: string, data: TUserRegistrationInfo, context?: TUserContext): Promise; } interface IAuthRoleService { create(data: Partial): Promise; update(id: string, data: Partial): Promise; ensure(uid: string, data: Partial>): Promise; delete(id: string): Promise; getById(id: string): Promise; getByUid(uid: string): Promise; addPermission(uid: string, permissionUid: string): Promise; removePermission(uid: string, permissionUid: string): Promise; getPermissions(uid: string): Promise; } interface IAuthPermissionService { create(data: Partial): Promise; update(id: string, data: Partial): Promise; ensure(uid: string, data: Partial>): Promise; delete(id: string): Promise; getById(id: string): Promise; getByUid(uid: string): Promise; } interface IAuthUserRolesService { getRoleUsers(roleId: string): Promise; getUserRoles(userId: string): Promise; getUserPermissions(userId: string): Promise; getUserOrganizationalUnits(userId: string): Promise; addUserToRole(userId: string, roleId: string): Promise; addUserToRoleByUid(userId: string, roleUid: string): Promise; removeUserFromRole(userId: string, roleId: string): Promise; removeUserFromRoleByUid(userId: string, roleUid: string): Promise; clearUserRoles(userId: string): Promise; isUserInRole(userId: string, roleId: string): Promise; } interface IAuthApiKeysService { find(apiKey: string): Promise; create(data: { key: string; name: string; organizationId?: string; }): Promise; enable(id: string): Promise; disable(id: string): Promise; delete(id: string): Promise; } type CurrentUserData = { user: IAuthUser; roles: IAuthRole[]; permissions: IAuthPermission[]; organizationalUnits: IAuthOrganizationalUnit[]; }; declare const CurrentUser: (...dataOrPipes: unknown[]) => ParameterDecorator; interface AuthenticationModuleSettings { passwordSalt: string; jwtSecret: string; } type UserPasswordResetTokenPayload = { userId: string; email: string; timestamp: number; }; type EmailVerifyTokenPayload = { userId: string; email: string; timestamp: number; }; declare enum UserRegistrationError { UserAlreadyExists = "userAlreadyExists" } type AppRole = { uid: string; name: string; }; type AppPermission = { uid: string; name: string; }; type RolesGuardOptions = { exact?: boolean; }; type ApiKeyRouteOptions = { strict?: boolean; }; declare const Public: () => _nestjs_common.CustomDecorator; declare const Authenticated: () => _nestjs_common.CustomDecorator; declare const Permissions: (...permissions: string[]) => _nestjs_common.CustomDecorator; declare const Roles: (...roles: string[]) => _nestjs_common.CustomDecorator; declare const MemberOf: (...groups: string[]) => _nestjs_common.CustomDecorator; declare const ApiKeyAccess: (options?: ApiKeyRouteOptions) => _nestjs_common.CustomDecorator; declare const buildRolesGuard: ({ mainRole, secondaryRoles, }: { mainRole: AppRole; secondaryRoles?: AppRole[] | undefined; }, options?: RolesGuardOptions) => _nestjs_common.CustomDecorator; declare const buildPermissionsGuard: ({ permissions, }: { permissions: AppPermission[]; }) => _nestjs_common.CustomDecorator; declare const WpPermissionsService: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; declare const AuthenticationExtensionSymbols: { ApiKeysService: symbol; UserRolesService: symbol; UserService: symbol; PermissionsService: symbol; RolesService: symbol; }; declare const WpRolesService: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; declare const WpUserService: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; declare const WpUserRolesService: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; declare const WpApiKeysService: () => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; declare const AuthenticationEmailTemplates: { Registration: string; PasswordReset: string; EmailVerify: string; }; type RegistrationEmailPayload = { firstName: string; lastName: string; callbackUrl: string; }; type EmailVerifyEmailPayload = { firstName: string; lastName: string; callbackUrl: string; }; type PasswordResetEmailPayload = { firstName: string; lastName: string; callbackUrl: string; }; declare class AuthenticationError extends Error { constructor(message: string); } declare class InvalidCredentialsError extends AuthenticationError { constructor(message: string); } declare class OperationTokenMismatchError extends AuthenticationError { constructor(message: string); } declare const AUTHENTICATION_EVENTS_NAMESPACE = "authentication"; declare const AuthenticationEvents: { UserLogin: string; UserRegistrationStarted: string; UserRegistrationCompleted: string; UserPasswordResetStarted: string; UserPasswordResetCompleted: string; }; type UserProfile = { firstName: string; lastName: string; }; type UserLoginEventPayload = { userId: string; email: string; profile: UserProfile; }; type UserRegistrationStartedEventPayload = { email: string; profile: UserProfile; }; type UserRegistrationCompletedEventPayload = { userId: string; email: string; profile: UserProfile; }; type UserPasswordResetStartedEventPayload = { email: string; }; type UserPasswordResetCompletedEventPayload = { userId: string; email: string; profile: UserProfile; }; declare class AuthGuard implements CanActivate { private reflector; private readonly logger; constructor(reflector: Reflector); canActivate(context: ExecutionContext): boolean; private isRoleMatching; private isPermissionMatching; private getIsForAllAuthenticated; private getIsPublic; private getApiRoute; private getAllowedRoles; private getAllowedPermissions; private getCurrentAuth; private getMetadata; private getContextInfo; } declare enum UserCreationError { UserAlreadyExists = "userAlreadyExists" } type UserCreationInput = { email: string; userName: string; /** * Password for the user account. * - Required for standard email/password authentication * - Should be omitted (undefined) when using passwordless OAuth login */ password?: string; registrationInfo: TUserRegistrationInfo; context?: TUserContext; verified?: boolean; }; type UserCreationResult = { success: boolean; error?: UserCreationError; userId?: string; }; type UserDisableInput = { userId: string; }; type UserDeleteInput = { userId: string; }; type UserEnableInput = { userId: string; }; type UserLoginInput = { userName: string; password: string; context?: TUserContext; }; type UserLoginResult = { token?: string; userId?: string; success: boolean; }; type UserPasswordChangeInput = { userId: string; newPassword: string; temporary: boolean; }; type UserPasswordResetCompleteInput = { token: string; newPassword: string; temporary?: boolean; context?: TUserContext; }; type UserPasswordResetRequestCallbackTemplate = { urlTemplate: string; tokenPlaceholder: string; }; type UserPasswordResetRequestInput = { email: string; callback: UserPasswordResetRequestCallbackTemplate; languageCode: string; context?: TUserContext; emailTemplateId?: string; }; type UserPasswordResetRequestResult = { success: boolean; }; type UserRegisterCallbackTemplate = { urlTemplate: string; tokenPlaceholder: string; }; type UserRegistrationInput = { email: string; userName: string; password: string; registrationInfo: TUserRegistrationInfo; callback?: UserRegisterCallbackTemplate; languageCode: string; context?: TUserContext; }; type UserRegistrationResult = { success: boolean; error?: UserRegistrationError; userId?: string; }; type UserTokenVerifyResult = { isValid: boolean; data: IAuthUserTokenData; }; type UserTokenVerifyInput = { token: string; }; type UserVerifyCompleteInput = { token: string; context?: TUserContext; }; type UserVerifyRequestInput = { email: string; callback: UserVerifyRequestCallbackTemplate; languageCode: string; context?: TUserContext; emailTemplateId?: string; }; type UserVerifyRequestResult = { success: boolean; }; type UserVerifyRequestCallbackTemplate = { urlTemplate: string; tokenPlaceholder: string; }; interface IAppSessionService { getValue(key: string): T; setValue(key: string, value: T): void; clearValue(key: string): void; getRequest(): TRequest; retrieveRequest(): TRequest; } declare class AppSessionService implements IAppSessionService { getValue(key: string): T; setValue(key: string, value: T): void; clearValue(key: string): void; getRequest(): express.Request>; retrieveRequest(): express.Request> | undefined; private retrieveSession; private getSession; } declare class AppHashingService { hash(value: string, salt: string): Promise; compare(hash: string, value: string, salt: string): Promise; } declare class EntityManagerService { private readonly registry; constructor(registry: EntityManagerRegistry); getManager(entityName: string): IEntityManager; getActions(entityName: string): IEntityActions; getRepository(entityName: string): IEntityRepository; } declare class MediaLibraryService implements IMediaLibraryManager { private readonly registry; constructor(registry: EntityManagerRegistry); mediaUpload(input: MediaUploadInput): Promise; mediaDelete(input: MediaReference): Promise; mediaDownload(input: MediaReference): Promise; folderEnsure(input: MediaFolderEnsureInput): Promise; folderCreate(input: MediaFolderCreateInput): Promise; folderMove(input: MediaFolderMoveInput): Promise; folderRename(input: MediaFolderRenameInput): Promise; folderDelete(input: MediaFolderReference): Promise; foldersList(parent?: MediaFolderReference | undefined): Promise; getFolderMedia(input: MediaFolderReference): Promise; private parseReferenceProviderId; private getMediaProvider; private get defaultMediaProvider(); private get mediaFolderRepository(); private get mediaReferenceRepository(); } declare class OperationLockService implements IOperationLockService { private readonly operations; constructor(operations: ILockRepository); executeSequential: (input: ExecuteSequentialInput) => Promise; executeExclusive: (input: ExecuteExclusiveInput) => Promise>; private isLockExpired; } declare class LockItemClass { uid: string; lockedBy?: string; createdOn: Date; } declare class TypeormOperationLockRepository implements ILockRepository { private readonly repo; private readonly entityClass; constructor(repo: Repository, entityClass: EntityTarget); getLock: (lockUid: string) => Promise; acquireLock: (input: LockAcquireInput) => Promise; releaseLock: (input: LockReleaseInput) => Promise; } declare class EmailService { private readonly registry; constructor(registry: EntityManagerRegistry); sendTemplatedEmail(input: TemplatedEmailInput, options?: EmailSendOptions): Promise; sendHtmlEmail(input: HtmlEmailInput, options?: EmailSendOptions): Promise; private getTemplate; private hasRecipients; private get templateMiddleware(); private get templates(); private get provider(); private get logger(); } type DataExportInput = { dataName: string; fileName: string; columns: DataSerializerColumnDefinition[]; format: DataSerializationFormat; }; type DataSerializerColumnDefinition = { name: string; key: string; selector: keyof TSheetItem | ((item: TSheetItem) => any); colSpan?: number; array?: boolean; arraySeparator?: string; }; type DataExportFile = { content: Buffer; contentType: string; }; declare enum DataSerializationFormat { Csv = "csv", Json = "json", Xlsx = "xlsx" } declare class DataExportService { private readonly registry; constructor(registry: EntityManagerRegistry); exportData(data: TSheetItem[], input: DataExportInput): Promise<{ downloadUrl: FileProviderDownloadUrl; file: { fileName: string; content: Buffer; contentType: string; }; }>; extractData(data: TSheetItem[], input: Omit, "fileName">): Promise; private uploadExportFile; private buildExportFileName; private buildExportFilePath; private get defaultFileProvider(); private get defaultBucketProvider(); } type DataSheet = { name: string; data: T[]; columns: DataSerializerColumnDefinition[]; }; declare class DataSheetsBuilder { private sheets; addSheet(sheet: DataSheet): void; build(): Promise; } declare class DataSheetsExporterService { createBuilder(): DataSheetsBuilder; } declare class CacheService { private readonly registry; constructor(registry: EntityManagerRegistry); getInstance(instanceName: string): ICacheInstance; getInstances(): ICacheInstance[]; } declare class FilesManager implements IFileManager { private readonly registry; constructor(registry: EntityManagerRegistry); uploadFile(file: FileData): Promise; removeFile(fileId: string): Promise; getFileContent(fileId: string): Promise; getFileDownloadUrl(fileId: string): Promise; getFileReferenceDownloadUrl({ reference, providerId, }: { reference: string; providerId: string; }): Promise; private getFileProvider; private get defaultFileProvider(); private get referencesRepo(); } type IEventData = { payload?: TEventPayload; userId?: string; userName?: string; timestamp?: Date; }; declare class EventsService { private readonly registry; constructor(registry: EntityManagerRegistry); emitEvent(eventName: string, eventData: IEventData): Promise; private buildPayload; private get eventEmitter(); } declare class TrackingService { private readonly registry; constructor(registry: EntityManagerRegistry); trackEvent(event: IEventLog): Promise; private get tracker(); } declare class SecretsService { private readonly registry; constructor(registry: EntityManagerRegistry); get secretsProvider(): ISecretsProvider; private get providers(); } declare class AuthenticationServicesResolver { private usersService; private rolesService; private permissionsService; private usersRolesService; private apiKeysService; registerApiKeysService(service: IAuthApiKeysService): void; registerUsersService(usersService: IAuthUserService): void; registerRoleService(rolesService: IAuthRoleService): void; registerPermissionsService(permissionsService: IAuthPermissionService): void; registerUserRolesService(userRolesService: IAuthUserRolesService): void; getApiKeysService(): IAuthApiKeysService; getUsersService(): IAuthUserService; getRoleService(): IAuthRoleService; getPermissionService(): IAuthPermissionService; getUserRoleService(): IAuthUserRolesService; } declare class JwtProvider { private readonly jwtService; constructor(jwtService: JwtService); sign(payload: T): Promise; parse(token: string): Promise; verify(token: string): Promise; } declare class PasswordHashingProvider { private readonly hashing; constructor(hashing: AppHashingService); hashPassword(input: { password: string; userId: string; }): Promise; verifyPassword(input: { password: string; userId: string; hash: string; }): Promise<{ isMatching: boolean; }>; private buildUserSalt; } declare class UserRegistrationHandler { private readonly services; private readonly passwordHashingProvider; private readonly emailService; private readonly jwtProvider; private readonly logger; constructor(services: AuthenticationServicesResolver, passwordHashingProvider: PasswordHashingProvider, emailService: EmailService, jwtProvider: JwtProvider); execute(input: UserRegistrationInput): Promise; private createPasswordHash; private sendRegistrationEmail; private generateEmailVerifyToken; private createUser; private resolveUser; } declare class UserDisableHandler { private readonly services; constructor(services: AuthenticationServicesResolver); execute(input: UserDisableInput): Promise; } declare class UserEnableHandler { private readonly services; constructor(services: AuthenticationServicesResolver); execute(input: UserEnableInput): Promise; } declare class UserLoginHandler { private readonly services; private readonly passwordHashingProvider; private readonly jwtProvider; constructor(services: AuthenticationServicesResolver, passwordHashingProvider: PasswordHashingProvider, jwtProvider: JwtProvider); execute(input: UserLoginInput): Promise; private generateUserJwtToken; private resolveUser; } declare class UserPasswordChangeHandler { private readonly services; private readonly passwordHashingProvider; constructor(services: AuthenticationServicesResolver, passwordHashingProvider: PasswordHashingProvider); execute(input: UserPasswordChangeInput): Promise; } declare class UserPasswordResetCompleteHandler { private readonly services; private readonly passwordHashingProvider; private readonly jwtProvider; constructor(services: AuthenticationServicesResolver, passwordHashingProvider: PasswordHashingProvider, jwtProvider: JwtProvider); execute(input: UserPasswordResetCompleteInput): Promise<{ userId: string; token: string; }>; private generateUserJwtToken; private decodeToken; private validateUser; private getUser; } declare class UserPasswordResetRequestHandler { private readonly services; private readonly emailService; private readonly jwtProvider; constructor(services: AuthenticationServicesResolver, emailService: EmailService, jwtProvider: JwtProvider); execute(input: UserPasswordResetRequestInput): Promise; private sendPasswordResetEmail; private generatePasswordResetToken; private resolveUser; } declare class UserVerifyCompleteHandler { private readonly services; private readonly jwtProvider; constructor(services: AuthenticationServicesResolver, jwtProvider: JwtProvider); execute(input: UserVerifyCompleteInput): Promise<{ userId: string; token: string; }>; private generateUserJwtToken; private decodeToken; private validateUser; private getUser; } declare class UserTokenVerifyHandler { private readonly jwtProvider; constructor(jwtProvider: JwtProvider); execute(input: UserTokenVerifyInput): Promise>; private decodeUserJwtToken; } declare class UserVerifyRequestHandler { private readonly services; private readonly emailService; private readonly jwtProvider; constructor(services: AuthenticationServicesResolver, emailService: EmailService, jwtProvider: JwtProvider); execute(input: UserVerifyRequestInput): Promise; private sendEmailVerifyEmail; private generateEmailVerifyToken; private resolveUser; } declare class UserCreationHandler { private readonly services; private readonly passwordHashingProvider; private readonly logger; constructor(services: AuthenticationServicesResolver, passwordHashingProvider: PasswordHashingProvider); execute(input: UserCreationInput): Promise; private createPasswordHash; private createUser; private resolveUser; } declare class UserDeleteHandler { private readonly services; constructor(services: AuthenticationServicesResolver); execute(input: UserDeleteInput): Promise; } type UserImpersonateInput = { userName: string; context?: TUserContext; }; type UserImpersonateResult = { token: string; }; declare class UserImpersonateHandler { private readonly services; private readonly jwtProvider; constructor(services: AuthenticationServicesResolver, jwtProvider: JwtProvider); execute(input: UserImpersonateInput): Promise; private generateUserJwtToken; private resolveUser; } type UserInvitationSendInput = { userId: string; callback: UserRegisterCallbackTemplate; } & ({ emailTemplateId: string; languageId: string; } | { emailTemplateId?: undefined; languageId?: string; }); declare class UserInvitationSendHandler { private readonly services; private readonly emailService; private readonly jwtProvider; constructor(services: AuthenticationServicesResolver, emailService: EmailService, jwtProvider: JwtProvider); execute(input: UserInvitationSendInput): Promise<{ token: string; callbackUrl: string; }>; private sendRegistrationEmail; private generateEmailVerifyToken; } declare class AuthenticationService implements IAuthService { private readonly userCreationHandler; private readonly userDisableHandler; private readonly userDeleteHandler; private readonly userEnableHandler; private readonly userImpersonateHandler; private readonly userLoginHandler; private readonly userPasswordChangeHandler; private readonly userPasswordResetFinalizeHandler; private readonly userPasswordResetRequestHandler; private readonly userRegistrationHandler; private readonly userTokenVerifyHandler; private readonly userVerifyRequestHandler; private readonly userVerifyCompleteHandler; private readonly userInvitationHandler; private readonly resolver; constructor(userCreationHandler: UserCreationHandler, userDisableHandler: UserDisableHandler, userDeleteHandler: UserDeleteHandler, userEnableHandler: UserEnableHandler, userImpersonateHandler: UserImpersonateHandler, userLoginHandler: UserLoginHandler, userPasswordChangeHandler: UserPasswordChangeHandler, userPasswordResetFinalizeHandler: UserPasswordResetCompleteHandler, userPasswordResetRequestHandler: UserPasswordResetRequestHandler, userRegistrationHandler: UserRegistrationHandler, userTokenVerifyHandler: UserTokenVerifyHandler, userVerifyRequestHandler: UserVerifyRequestHandler, userVerifyCompleteHandler: UserVerifyCompleteHandler, userInvitationHandler: UserInvitationSendHandler, resolver: AuthenticationServicesResolver); userCreate(input: UserCreationInput): Promise; userInvite(input: UserInvitationSendInput): Promise<{ token: string; callbackUrl: string; }>; userDisable(input: UserDisableInput): Promise; userDelete(input: UserDeleteInput): Promise; userEnable(input: UserEnableInput): Promise; userImpersonate(input: UserImpersonateInput): Promise; userLogin(input: UserLoginInput): Promise; userPasswordChange(input: UserPasswordChangeInput): Promise; userPasswordResetFinalize(input: UserPasswordResetCompleteInput): Promise<{ userId: string; token: string; }>; userPasswordResetRequest(input: UserPasswordResetRequestInput): Promise; userRegister(input: UserRegistrationInput): Promise; userVerifyRequest(input: UserVerifyRequestInput): Promise; userVerifyComplete(input: UserVerifyCompleteInput): Promise<{ userId: string; token: string; }>; userTokenVerify(input: UserTokenVerifyInput): Promise>; get apiKeysService(): IAuthApiKeysService; get usersService(): IAuthUserService; get rolesService(): IAuthRoleService; get userRolesService(): IAuthUserRolesService; } declare class AuthenticationModule implements NestModule { /** * @deprecated use initialize instead */ static forRoot(input: AuthenticationModuleSettings): DynamicModule; static initialize(input: AuthenticationModuleSettings): void; configure(consumer: MiddlewareConsumer): void; } interface IAppDirectory { id: string; uid: string; name: string; } interface IAppTenant { id: string; uid: string; name: string; } interface IAppOrganization { id: string; uid: string; name: string; tenant: IAppTenant; } interface IAppCompany { id: string; uid: string; name: string; organization: IAppOrganization; } interface IAppDivision { id: string; uid: string; name: string; company: IAppCompany; } interface IAppUserProfile { firstName: string; lastName: string; } interface IAppUser { id: string; uid?: string; userName: string; email: string; verified: boolean; disabled: boolean; profile: IAppUserProfile; tenant: IAppTenant; directory: IAppDirectory; organization?: IAppOrganization; } interface IAppUserGroup { id: string; uid: string; name: string; disabled: boolean; isBuiltIn: boolean; organization?: IAppOrganization; } interface IAppRole { id: string; uid: string; name: string; } interface IMultiTenantEntity { tenant: IAppTenant; } interface IMultiOrganizationEntity { organization: IAppOrganization; } interface IMultiCompanyEntity { company: IAppCompany; } declare class MultiTenancyModule { } declare enum JobConcurrency { Sequential = "sequential", Parallel = "parallel" } declare class JobSchedule { uid: string; cron: string; enabled: boolean; invocationOverrides?: TInvocationParams; } type JobDefinition = { id: string; uid: string; name: string; provider: string; infrastructureParams: TInfrastructureParams; invocationParams: TInvocationParams; schedules: JobSchedule[]; concurrency: JobConcurrency; }; declare enum JobStatus { Created = "created", Ready = "ready", Initializing = "initializing", Running = "running", Completed = "completed", Faulted = "faulted", InitializationError = "initializationError" } declare enum JobRunType { Scheduled = "scheduled", OnDemand = "onDemand" } declare class JobInstance { id: string; scheduleUid?: string; jobUid: string; runType: JobRunType; status: JobStatus; insertTime?: Date; startTime?: Date; endTime?: Date; result?: any; error?: any; createdOn?: Date; updatedOn?: Date; } declare enum JobProviderState$1 { Initializing = "initializing", Running = "running", Completed = "completed", CompletedWithErrors = "completedWithErrors" } type JobData = Omit, "id" | "createdOn" | "updatedOn">; interface IJobDefinitionsRepository { getAllDefinitions(): Promise[]>; getDefinitionByUid(uid: string): Promise | undefined>; ensureDefinition(data: JobData): Promise>; createDefinition(data: JobData): Promise>; updateDefinition(uid: string, data: JobData): Promise>; } interface IJobInstancesRepository { getById(id: string): Promise; getByStatus(...status: JobStatus[]): Promise; getLastInstance(jobUid: string, scheduleUid?: string): Promise; appendInstance(job: JobDefinition, data: Pick): Promise; updateInstance(instanceId: string, data: Pick): Promise; } type JobsSettings = { scheduler: { enabled: boolean; intervalSeconds: number; }; monitor: { enabled: boolean; intervalSeconds: number; }; }; declare class RunnableJobsProcessor { private readonly jobInstances; private readonly logger; constructor(jobInstances: IJobInstancesRepository); shouldRun(job: JobDefinition, schedule: JobSchedule): Promise; } declare class JobsSchedulerTask { private readonly jobDefinitions; private readonly evaluator; private readonly commandBus; private readonly logger; constructor(jobDefinitions: IJobDefinitionsRepository, evaluator: RunnableJobsProcessor, commandBus: CommandBus); run(): Promise; private evaluateJob; private evaluateJobSchedule; } declare class JobsMonitorTask { private readonly jobInstances; private readonly jobDefinitions; private readonly commandBus; private readonly logger; constructor(jobInstances: IJobInstancesRepository, jobDefinitions: IJobDefinitionsRepository, commandBus: CommandBus); run(): Promise; private monitorInstance; } declare class JobsScheduler { private readonly schedulerRegistry; private readonly schedulerTask; private readonly monitorTask; private readonly logger; constructor(schedulerRegistry: SchedulerRegistry, schedulerTask: JobsSchedulerTask, monitorTask: JobsMonitorTask); register(): void; private registerJobsScheduler; private registerJobsMonitor; private batchJobsSchedule; private batchJobsMonitor; private get jobsSettings(); } type AwsJobComputePlatformType = "ec2" | "fargate"; type AwsJobEnvironmentVariable = { name: string; value: string; }; type AwsBatchInfrastructureParams = { vcpu: number; memory: number; gpu?: number; ephemeralStorageGB?: number; dockerImage: string; environmentVariables?: AwsJobEnvironmentVariable[]; computePlatformType?: AwsJobComputePlatformType; assignPublicIp?: boolean; logGroupName?: string; privileged?: boolean; batchComputeEnvironment?: string; }; type AwsBatchInvocationParams = { startCommand: string[]; }; type AwsJobDefinition = JobDefinition; type BatchJobVariables = Record; interface JobDispatchInput { definition: JobDefinition; schedule?: JobSchedule; instanceId: string; payload?: unknown; commandPlaceholders?: Record; variables?: BatchJobVariables; } declare enum JobProviderState { Initializing = "initializing", Running = "running", Completed = "completed", CompletedWithErrors = "completedWithErrors" } interface GetJobStatusInput { definition: JobDefinition; instanceId: string; } interface JobStatusResult { state: JobProviderState; error?: string; } interface CancelJobStatusInput { instanceId: string; } interface UpsertJobDefinitionInput { definition: JobDefinition; } interface JobProviderInstance { dispatch(input: JobDispatchInput): Promise; upsertJobDefinition(input: UpsertJobDefinitionInput): Promise; getJobStatus(input: GetJobStatusInput): Promise; cancelJob(input: CancelJobStatusInput): Promise; } declare class JobsProviderFactory { private readonly discover; private readonly logger; private providers; constructor(discover: CustomDiscoveryService); initialize(): Promise; getProvider(id: string): JobProviderInstance; } declare class JobsModule implements OnModuleInit { private readonly jobsScheduler; private readonly jobsProviderFactory; constructor(jobsScheduler: JobsScheduler, jobsProviderFactory: JobsProviderFactory); onModuleInit(): Promise; /** * @deprecated use initialize instead */ static forRoot(input: JobsSettings): DynamicModule; static initialize(input: JobsSettings): void; } type JobTriggerInput = { jobUid: string; scheduleUid?: string; payload?: any; commandPlaceholders?: Record; variables?: BatchJobVariables; }; declare class JobsService { private readonly definitions; private readonly instances; private readonly commandBus; constructor(definitions: IJobDefinitionsRepository, instances: IJobInstancesRepository, commandBus: CommandBus); triggerJob: (input: JobTriggerInput) => Promise; updateJob: (input: JobDefinition) => Promise; instanceMonitor: (input: { instanceId: string; }) => Promise; } declare enum TaskRunType { Scheduled = "Scheduled", OnDemand = "OnDemand" } type TaskContext = { name: string; runId: string; runType: TaskRunType; startedAt: Date; }; interface ITask { execute(context: TaskContext): Promise; } declare class TaskShell { private readonly registry; private readonly operations; private readonly logger; constructor(registry: EntityManagerRegistry, operations: ILockRepository); executeTask(instance: ITask, settings: TaskProps, runType: TaskRunType): Promise; private executeTaskParallel; private executeTaskSequential; private getTaskLockKey; private invokeTask; private get operationsLockService(); } declare class TaskScheduler { private schedulerRegistry; private readonly jobShell; private readonly logger; private readonly cronJobs; constructor(schedulerRegistry: SchedulerRegistry, jobShell: TaskShell); scheduleTask(job: TaskProps, instance: ITask): Promise; stopAllTasks(): void; } declare class AppInMemorySettings { private readonly name; private _instance; constructor(name: string); initialize(value: T): void; get value(): T; } type TasksModuleSettings = { enabled?: boolean; }; declare class TasksModule implements OnModuleDestroy { private readonly scheduler; constructor(scheduler: TaskScheduler); static initialize(input: TasksModuleSettings): void; onModuleDestroy(): void; } declare class TasksRegistry { private readonly tasks; registerTask(props: TaskProps, instance: ITask): void; getTask(name: string): { props: TaskProps; instance: ITask; }; getTasks(): { props: TaskProps; instance: ITask; }[]; } declare class TasksService { private readonly jobShell; private readonly registry; private readonly logger; constructor(jobShell: TaskShell, registry: TasksRegistry); triggerTask(name: string): Promise; invokeTask(name: string): Promise; getTasks(): Promise<{ props: TaskProps; instance: ITask; }[]>; } declare const createExpressFileResponse: (res: Response, file: { content: Buffer; contentType: string; name: string; }) => StreamableFile; type DynamoDbCacheInstanceOptions = { tableName: string; partitionKey?: string; sortKey?: string; }; declare abstract class DynamoDbCacheInstance implements ICacheInstance { protected readonly instanceName: string; private readonly logger; private readonly collection; constructor(instanceName: string, dynamoDbOptions: DynamoDbCacheInstanceOptions); getEntries(): Promise; getEntry(key: string): Promise; get(key: string): Promise; set(key: string, input: { value: T; ttl: CacheTtl; }): Promise; retrieve(key: string, input: { ttl: CacheTtl; valueFactory: () => Promise; }): Promise; delete(key: string): Promise; clear(): Promise; getInstanceName(): string; private isExpired; } type DynamoDbCacheItem = { instance: string; key: string; expiration: number; createdOn: number; updatedOn: number; data: any; }; declare abstract class InMemoryCacheInstance implements ICacheInstance { protected readonly instanceName: string; private readonly store; constructor(instanceName: string); getEntries(): Promise; getEntry(key: string): Promise; get(key: string): Promise; set(key: string, input: { value: T; ttl: CacheTtl; }): Promise; retrieve(key: string, input: { ttl: CacheTtl; valueFactory: () => Promise; }): Promise; delete(key: string): Promise; clear(): Promise; getInstanceName(): string; private isExpired; private toCacheEntryInfo; private toCacheEntryDetail; } type InMemoryCacheEntry = { key: string; data: unknown; createdOn: number; updatedOn: number; expiration: number; }; interface ICacheDatabaseItem { id: string; instance: string; key: string; data: any; createdOn: Date; updatedOn: Date; expirationTime: Date; } declare abstract class TypeormCacheInstance implements ICacheInstance { protected readonly instanceName: string; private readonly logger; constructor(instanceName: string); getInstanceName(): string; getEntries(): Promise; getEntry(key: string): Promise; retrieve(key: string, input: { ttl: CacheTtl; valueFactory: () => Promise; }): Promise; get(key: string): Promise; set(key: string, { ttl, value }: { value: T; ttl: CacheTtl; }): Promise; delete(key: string): Promise; clear(): Promise; protected abstract getRepository(): Repository; } declare class PipelineController implements IPipelinesController { createInstance(definition: PipelineDefinition, input: TInput, context: TContext): Promise>; } declare enum QueryBuilderOperation { Search = "search", Get = "get" } declare abstract class QueryBuilderBase, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> implements IEntitiesQueryBuilder { abstract get(id: TEntityId, context?: IAuthenticationContext | undefined): Promise; abstract exists(filters: NonNullable, context?: IAuthenticationContext | undefined): Promise; abstract count(filters: NonNullable, context?: IAuthenticationContext | undefined): Promise; abstract delete(filters: NonNullable, context?: IAuthenticationContext | undefined): Promise; abstract search(request: TEntitySearchParameters, context?: IAuthenticationContext): Promise>; abstract find(request: { filters?: TEntitySearchParameters["filters"]; sorting?: TEntitySearchParameters["sorting"]; }, context?: IAuthenticationContext): Promise; protected getIndexBasedPagingResult({ paging, totResults, currentPageResults, }: { paging?: ISearchRequestPaging; totResults: number; currentPageResults: number; }): IEntitiesSearchResultsPaging | undefined; } type UpdateCriteria = string | string[] | number | number[] | Date | Date[] | ObjectId | ObjectId[] | FindOptionsWhere; type DeleteCriteria = string | string[] | number | number[] | Date | Date[] | ObjectId | ObjectId[] | FindOptionsWhere; declare class TypeOrmRepository implements IEntityRepository, FindManyOptions, UpdateCriteria, DeleteCriteria> { protected readonly innerRepository: Repository; private readonly logger; constructor(innerRepository: Repository); getInnerRepository(): Repository; distinct(field: TField, condition: FindManyOptions): Promise; exists(id: TEntityId): Promise; existsBy(condition: FindOneOptions): Promise; get(id: TEntityId, options?: { relations?: FindOptionsRelations; }): Promise; getBy(condition: FindOneOptions): Promise; all(): Promise; count(condition: FindManyOptions): Promise; find(condition: FindManyOptions): Promise; findOne(condition: FindManyOptions): Promise; findOneOrFail(condition: FindManyOptions): Promise; findById(id: TEntityId[]): Promise; delete(id: TEntityId): Promise; deleteBy(condition: DeleteCriteria): Promise; create(entity: Partial): Promise; update(id: TEntityId, entity: Partial): Promise; updateBy(entity: Partial, condition: UpdateCriteria): Promise; upsert(id: TEntityId, entity: Partial): Promise; upsertBy({ data, filter, }: { data: Partial; filter: FindManyOptions; }): Promise>; } type NumericFilter = { in?: number[]; eq?: number; gt?: number; gte?: number; lt?: number; lte?: number; isNull?: boolean; notIn?: number[]; }; type StringFilter = { gt?: string; gte?: string; lt?: string; lte?: string; in?: string[]; ieq?: string; eq?: string; like?: string; ne?: string; ine?: string; notIn?: string[]; notLike?: string; isNull?: boolean; isEmpty?: boolean; }; type IdFilter = { in?: string[]; eq?: string; ne?: string; notIn?: string[]; isNull?: boolean; }; type EnumFilter = { in?: T[]; eq?: T; ne?: T; notIn?: T[]; isNull?: boolean; }; type ArrayFilter = { eq?: T[]; isNull?: boolean; }; type BooleanFilter = { eq?: boolean; ne?: boolean; isNull?: boolean; in?: boolean[]; notIn?: boolean[]; }; type DateFilter = { in?: Date[]; eq?: Date; gt?: Date; gte?: Date; lt?: Date; lte?: Date; isNull?: boolean; }; type StringListFilter = { contains?: string; iContains?: string; notContains?: string; iNotContains?: string; }; declare class QueryClauseBuilder { stringArrayFilter(filter: ArrayFilter): FindOperator; enumFilter(filter: EnumFilter): FindOperator; idFilter(filter: IdFilter): FindOperator; stringFilter(filter: StringFilter): FindOperator; stringListFilter(filter: StringListFilter): FindOperator; numericFilter(filter: NumericFilter): FindOperator; dateFilter(filter: DateFilter): FindOperator; boolFilter(filter: BooleanFilter): FindOperator; private buildInClause; } type FacetValueType = { value: T; label: string; count: number; }; type FacetType = { values: FacetValueType[]; }; type StringFacetsType = FacetType; type NumberFacetsType = FacetType; type BooleanFacetsType = FacetType; type DateFacetsType = FacetType; type FacetRelations = { columns: string[]; }; type FacetBuilderInput = { field: keyof TEntity; request: TEntitySearchParameters; context: IAuthenticationContext | undefined; relations?: FacetRelations; labelSelector?: string; }; type ChildrenMap = Record; declare abstract class TypeOrmQueryBuilder, TSorting extends SortingType, TFacets extends IEntityFacets, TUserContext> extends QueryBuilderBase { private readonly services; private repository; protected clause: QueryClauseBuilder; protected permissions: PermissionsChecker; constructor(services: EntityServiceLocator); get(id: TEntityId, context?: IAuthenticationContext, options?: IEntityGetQueryOptions): Promise; exists(filters: NonNullable, context?: IAuthenticationContext | undefined): Promise; count(filters: NonNullable, context?: IAuthenticationContext | undefined): Promise; delete(filters: NonNullable, context?: IAuthenticationContext | undefined): Promise; find(request: { filters?: TEntitySearchParameters["filters"]; sorting?: TEntitySearchParameters["sorting"]; relations?: TEntitySearchParameters["relations"]; }, context?: IAuthenticationContext): Promise; search(request: TEntitySearchParameters, context?: IAuthenticationContext): Promise>; protected getFieldDistinctValues(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext | undefined): Promise; protected findPagedQueryResults(request: TEntitySearchParameters, context: IAuthenticationContext | undefined): Promise; protected getRelationsToLoad(request: TEntitySearchParameters | undefined, context: IAuthenticationContext | undefined, operation: QueryBuilderOperation): FindOptionsRelations | undefined; protected buildPagingParameters(request: TEntitySearchParameters): { skip: number | undefined; take: number | undefined; }; protected countQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext): Promise; protected abstract buildSortingClause(request: TEntitySearchParameters): FindOptionsOrder; protected abstract buildWhereClause(request: TEntitySearchParameters): FindOptionsWhere[] | FindOptionsWhere; protected buildTextSearchClause(request: TEntitySearchParameters): FindOptionsWhere[] | FindOptionsWhere; protected abstract buildContextFilter(context?: IAuthenticationContext): FindOptionsWhere[] | FindOptionsWhere; protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext): Promise; protected calculateChildrenMap(items: TEntity[]): Promise; protected queryChildrenMap({ nodeIds, idField, parentField, }: { nodeIds: string[]; idField: TField; parentField: TField; }): Promise; protected calculateStringFieldFacets(input: FacetBuilderInput): Promise; protected calculateNumericFieldFacets(input: FacetBuilderInput): Promise; protected calculateBooleanFieldFacets(input: FacetBuilderInput): Promise; protected calculateFacet({ field, request, context, relations, labelSelector, }: FacetBuilderInput): Promise>; protected getRepository(): TypeOrmRepository; private buildSearchRelations; private buildWhere; private mergeWhereClauses; private mergeWheres; } declare abstract class NestTypeOrmQueryBuilder, TSorting extends SortingType, TFacets extends IEntityFacets, TUserContext> extends TypeOrmQueryBuilder { constructor(entityName: string, registry: EntityManagerRegistry); } declare class NestTypeOrmRepository extends TypeOrmRepository { constructor(repository: Repository); } interface IEntitySeedEntry { identifier: TFindCondition; data: () => Partial; } interface IEntitySeeder { execute(): Promise; get priority(): number | undefined; } declare abstract class EntitySeeder implements IEntitySeeder { protected readonly logger: _punks_backend_core.ILogger; execute(): Promise; protected abstract getEntries(): Promise[]>; protected abstract exists(condition: TFindCondition): Promise; protected abstract create(entity: Partial): Promise; abstract get priority(): number | undefined; } declare abstract class TypeOrmEntitySeeder extends EntitySeeder> { protected exists(condition: FindOneOptions): Promise; protected create(entity: TEntity): Promise; protected abstract getRepository(): Repository; } declare abstract class NestTypeOrmEntitySeeder extends TypeOrmEntitySeeder { private readonly registry; protected readonly metadata: EntitySeederProps; constructor(registry: EntityManagerRegistry); get priority(): number | undefined; protected getRepository(): Repository; } interface RuntimeErrorInformation { exception: any; request: any; response: any; } declare abstract class AppExceptionsFilterBase implements ExceptionFilter { catch(exception: unknown, host: ArgumentsHost): void; protected getExceptionType(exception: any): any; protected getExceptionStack(exception: any): any; protected getExceptionMessage(exception: any): any; protected getErrorStatusCode(exception: any): number; protected abstract logError(info: RuntimeErrorInformation): Promise; protected abstract getCustomErrorStatusCode(exception: any): number | undefined; } declare class EntityParseValidationColumn { name: string; key: string; } declare class EntityParseValidationError { errorCode: string; column: EntityParseValidationColumn; } declare class EntityParseStatus { isValid: boolean; validationErrors: EntityParseValidationError[]; } declare class EntityParseResult { rowIndex: number; item: any; status: EntityParseStatus; } interface IPipelineStepOperationOptionsBuilder { withRollback(definition: RollbackOperationDefinition): IPipelineStepOperationOptionsBuilder; } interface IPipelineStepOperationBuilder { addOperation(operation: OperationDefinition): IPipelineStepOperationOptionsBuilder; } interface IPipelineStepBuilder { addStep(builder: (step: IPipelineStepOperationBuilder) => void): IPipelineStepBuilder; complete(): PipelineDefinition; } interface IPipelineTemplateBuilder { addStep(builder: (step: IPipelineStepOperationBuilder) => void): IPipelineStepBuilder; } declare class PipelinesBuilder { private readonly registry; constructor(registry: EntityManagerRegistry); createTemplate(): IPipelineTemplateBuilder; } declare class PipelinesRunner { private readonly registry; constructor(registry: EntityManagerRegistry); invokePipeline(definition: PipelineDefinition, data: { input: TPipelineInput; context: TContext; }): Promise>; private get controller(); } declare class PipelineUtils { getStepByKey: (state: PipelineCompletedStepState, key: string) => PipelineCompletedStepState; getStepInputByKey: (state: PipelineCompletedStepState, key: string) => TStepInput; getStepOutputByKey: (state: PipelineCompletedStepState, key: string) => TStepOutput; getStep: (state: PipelineCompletedStepState, index: number) => PipelineCompletedStepState; getStepInput: (state: PipelineCompletedStepState, index: number) => TStepInput; getStepOutput: (state: PipelineCompletedStepState, index: number) => TStepOutput; } type PipelineTemplateOptions = { concurrency?: PipelineConcurrency; logging?: { ignoreMeta?: boolean; }; }; declare abstract class NestPipelineTemplate { private readonly options?; constructor(options?: PipelineTemplateOptions | undefined); protected readonly logger: _punks_backend_core.ILogger; protected readonly utils: PipelineUtils; private cachedDefinition; protected abstract buildTemplate(builder: IPipelineTemplateBuilder): PipelineDefinition; protected isAuthorized(context: TContext): boolean; protected getConcurrencyKey(input: TPipelineInput): string; invoke(input: TPipelineInput): Promise; execute(data: { input: TPipelineInput; context: TContext; }): Promise>; private pipelineExecute; private processLogMetadata; private getDefinition; private buildDefinition; private getContext; private get concurrency(); private get operationsLockService(); private get controller(); private get registry(); protected get metadata(): PipelineTemplateProps; } declare class PipelineInvocationError extends Error { readonly errorType: PipelineErrorType; readonly innerError: Error | undefined; readonly rawResult: PipelineResult; constructor(errorType: PipelineErrorType, innerError: Error | undefined, rawResult: PipelineResult, message?: string); } declare class AwsS3BucketError extends Error { constructor(message: string); } type AwsBucketPaths$1 = { filesUpload: string; }; type AwsBucketSettings = { awsAccessKeyId?: string; awsSecretAccessKey?: string; region?: string; defaultBucket: string; publicLinksExpirationMinutes: number; paths: AwsBucketPaths$1; }; declare class AwsBucketModule { /** * @deprecated use initialize instead */ static forRoot(input: AwsBucketSettings): DynamicModule; static initialize(input: AwsBucketSettings): void; } declare class AwsS3BucketProvider implements IBucketProvider { private readonly client; constructor(); folderList(input: BucketFolderListInput): Promise; folderEnsure(input: BucketFolderEnsureInput): Promise; folderCreate(input: BucketFolderEnsureInput): Promise; folderExists(input: BucketFolderExistsInput): Promise; fileDownload(input: BucketFileDownloadInput): Promise; fileExists(input: BucketFileExistsInput): Promise; filePublicUrlCreate(input: BucketFilePublicUrlCreateInput): Promise; fileUpload(input: BucketFileUploadInput): Promise; fileDelete(input: BucketFileDeleteInput): Promise; fileCopy(input: BucketFileCopyInput): Promise; fileMove(input: BucketFileMoveInput): Promise; } declare class InMemoryFileProvider implements IFileProvider { private readonly provider; constructor(); getProviderId(): string; uploadFile(file: FileProviderUploadData): Promise; deleteFile(reference: FileProviderReference): Promise; downloadFile(reference: FileProviderReference): Promise; getFileProviderDownloadUrl(reference: FileProviderReference): Promise; get defaultBucket(): string; } declare class InMemoryBucketProvider implements IBucketProvider { private inMemoryStorage; private inMemoryFolders; folderList(input: BucketFolderListInput): Promise; folderEnsure(input: BucketFolderEnsureInput): Promise; folderExists(input: BucketFolderExistsInput): Promise; fileExists(input: BucketFileExistsInput): Promise; fileDownload(input: BucketFileDownloadInput): Promise; filePublicUrlCreate(input: BucketFilePublicUrlCreateInput): Promise; fileUpload(input: BucketFileUploadInput): Promise; fileDelete(input: BucketFileDeleteInput): Promise; } type DynamoItem = { [key: string]: AttributeValue; }; type RawScanDynamoTableInput = { index?: string; pageSize: number; filter?: string; callback: (data: DynamoItem[]) => void; }; type ScanDynamoTableInput = { index?: string; pageSize: number; filter?: string; callback: (data: T[]) => void; }; type ScanDynamoTableItemsInput = { index?: string; pageSize: number; filter?: string; }; type SortDirection = "asc" | "desc"; type QueryDynamoTablePageInputBase = { index?: string; pageSize: number; cursor?: string; direction?: SortDirection; keyFilter?: string; dataFilter?: string; }; type QueryDynamoTablePageInputRaw = QueryDynamoTablePageInputBase & { filterAttributes?: DynamoItem; }; type QueryDynamoTablePageInput = QueryDynamoTablePageInputBase & { filterAttributes?: any; }; type QueryDynamoTablePageRawResult = { items: DynamoItem[]; cursor?: string; }; type QueryDynamoTablePageResult = { items: T[]; cursor?: string; }; type RawQueryDynamoTableInput = { index?: string; pageSize: number; keyFilter?: string; attributesFilter?: string; filterAttributes?: DynamoItem; callback: (data: DynamoItem[]) => void; }; type QueryDynamoTableInput = { index?: string; pageSize: number; keyFilter?: string; callback: (data: T[]) => void; }; type QueryDynamoTableItemsInput = { index?: string; pageSize: number; keyFilter?: string; attributesFilter?: string; filterAttributes?: DynamoItem; direction?: SortDirection; }; type DynamoDbPrimaryKey = { partitionKey: string; sortKey?: string; }; type DynamoDbCollectionOptions = { tableName: string; primaryKey: DynamoDbPrimaryKey; }; declare class DynamoDbCollection { private readonly settings; private client; constructor(settings: DynamoDbCollectionOptions); queryTableItems(input: QueryDynamoTableItemsInput): Promise; queryTable(input: QueryDynamoTableInput): Promise; protected rawQueryTable(input: RawQueryDynamoTableInput): Promise; queryTablePage(input: QueryDynamoTablePageInput): Promise>; protected queryTablePageRaw(input: QueryDynamoTablePageInputRaw): Promise; scanTableItems(input: ScanDynamoTableItemsInput): Promise; scanTable(input: ScanDynamoTableInput): Promise; protected rawScanTable(input: RawScanDynamoTableInput): Promise; itemExists(key: DynamoItem): Promise; getItem(key: DynamoItem): Promise; protected getItemRaw(key: DynamoItem): Promise; putItem(item: T): Promise; protected putItemRaw(item: DynamoItem): Promise; deleteItem(key: DynamoItem): Promise; private deserializeItem; private serializeItem; private serializeCursor; private deserializeCursor; private getClient; } type AwsDynamoDbSettings = { awsAccessKeyId?: string; awsSecretAccessKey?: string; region?: string; }; declare class AwsDynamoDbModule { /** * @deprecated use initialize instead */ static forRoot(input: AwsDynamoDbSettings): DynamicModule; static initialize(input: AwsDynamoDbSettings): void; } type AwsSesEmailTemplateData = { type: "html"; subjectTemplate: string; bodyTemplate: string; from?: string; to?: string[]; cc?: string[]; bcc?: string[]; replyTo?: string; }; declare abstract class AwsSesEmailTemplate implements IEmailTemplate { processPayload(payload: TPayload): Promise; getTemplateData(payload: TAugmentedPayload): Promise; } declare const WpAwsSesEmailTemplate: (templateId: string, templateData: AwsSesEmailTemplateData) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; type AwsSesSettings = { awsAccessKeyId?: string; awsSecretAccessKey?: string; region?: string; defaultSender: string; defaultCc?: string[]; defaultBcc?: string[]; sandboxMode?: boolean; sandboxAddresses?: string[]; }; declare class AwsEmailModule { /** * @deprecated use initialize instead */ static forRoot(input: AwsSesSettings): DynamicModule; static initialize(input: AwsSesSettings): void; } type SendgridTemplateType = "template" | "html"; type SendgridTemplateBaseData = { from?: string; to?: string[]; cc?: string[]; bcc?: string[]; replyTo?: string; }; type SendgridEmailTemplateData = SendgridTemplateBaseData & ({ type: "template"; sendgridTemplateId: string; } | { type: "html"; subjectTemplate: string | LocalizedTexts; bodyTemplate: string | LocalizedTexts; }); declare abstract class SendgridEmailTemplate implements IEmailTemplate { processPayload(payload: TPayload): Promise; getTemplateData(payload: TAugmentedPayload): Promise; } declare const WpSendgridEmailTemplate: (templateId: string, sendgridTemplateData: SendgridEmailTemplateData) => (target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor | undefined) => void; type SendgridSettings = { apiKey: string; defaultSender: string; defaultReplyTo?: string; defaultCc?: string[]; defaultBcc?: string[]; loggingEnabled?: boolean; sandboxMode?: boolean; forceDelivery?: boolean; }; declare class SendgridEmailModule { /** * @deprecated use initialize instead */ static forRoot(input: SendgridSettings): DynamicModule; static initialize(input: SendgridSettings): void; } type SentEmail = { input: TemplatedEmailInput; template: IEmailTemplate; type: "templated"; } | { input: HtmlEmailInput; type: "html"; }; declare class InMemoryEmailProvider implements IEmailProvider { private readonly sentEmails; sendTemplatedEmail(input: TemplatedEmailInput, template: IEmailTemplate, options?: EmailSendOptions): Promise; sendHtmlEmail(input: HtmlEmailInput): Promise; getSentEmails(): SentEmail[]; } type AwsBatchSettings = { awsAccessKeyId?: string; awsSecretAccessKey?: string; region?: string; defaultFargateBatchComputeEnvironment: string; defaultEc2BatchComputeEnvironment?: string; batchExecutionRole: string; batchResourcesPrefix: string; }; declare const awsBatchSettings: AppInMemorySettings; declare class AwsJobsModule { /** * @deprecated use initialize instead */ static forRoot(input: AwsBatchSettings): DynamicModule; static initialize(input: AwsBatchSettings): void; } declare class AwsS3MediaError extends Error { constructor(message: string); } type AwsBucketPaths = { filesUpload: string; }; type AwsMediaSettings = { awsAccessKeyId?: string; awsSecretAccessKey?: string; region?: string; defaultBucket: string; paths: AwsBucketPaths; }; declare class AwsS3MediaModule { /** * @deprecated use initialize instead */ static forRoot(input: AwsMediaSettings): DynamicModule; static initialize(input: AwsMediaSettings): void; } declare class AwsS3MediaProvider implements IMediaProvider { private readonly client; constructor(); getProviderId(): string; getFileName(input: MediaReference): string; mediaUpload(input: MediaUploadInput): Promise; mediaDelete(input: MediaReference): Promise; mediaDownload(input: MediaReference): Promise; private buildUploadPath; } declare class SanityMediaError extends Error { constructor(message: string); } type SanityMediaSettings = { projectId: string; dataset: string; token: string; apiVersion: string; }; declare class SanityMediaModule { /** * @deprecated use initialize instead */ static forRoot(input: SanityMediaSettings): DynamicModule; static initialize(input: SanityMediaSettings): void; } declare class SanityMediaProvider implements IMediaProvider { private readonly client; constructor(); getProviderId(): string; getFileName(input: MediaReference): string; mediaUpload(input: MediaUploadInput): Promise; mediaDelete(input: MediaReference): Promise; mediaDownload(input: MediaReference): Promise; } declare class InMemoryMediaProvider implements IMediaProvider { private readonly provider; mediaUpload(input: MediaUploadInput): Promise; mediaDelete(input: MediaReference): Promise; mediaDownload(input: MediaReference): Promise; getFileName(input: MediaReference): string; getProviderId(): string; } type AwsSecretsSettings = { awsAccessKeyId?: string; awsSecretAccessKey?: string; region?: string; secretsRootPath: string; }; declare class AwsSecretsModule { /** * @deprecated use initialize instead */ static forRoot(input: AwsSecretsSettings): DynamicModule; static initialize(input: AwsSecretsSettings): void; } declare class AwsSecretsProvider implements ISecretsProvider { private readonly client; private readonly logger; constructor(); getSecretValue(pageName: string, key: string): Promise; getSecrets(pageName: string): Promise[]>; setSecret(pageName: string, secret: AppSecretInput): Promise; defineSecret(pageName: string, definition: AppSecretDefinition): Promise; pageEnsure(pageName: string, metadata: AppSecretsPageMetadata): Promise; pageExists(pageName: string): Promise; pageInitialize(pageName: string, metadata: AppSecretsPageMetadata): Promise; private saveSecretsPage; private getSecretsPage; private buildPagePath; } declare class NestEventEmitter implements IEventEmitter { private eventEmitter; constructor(eventEmitter: EventEmitter2); emit(event: string, ...args: any[]): Promise; } interface EntityManagerStaticProviders { modulesContainer: ModulesContainer$1; authenticationProvider?: IAuthenticationContextProvider; settings: EntityManagerSettings; } declare class EntityManagerInitializer { private readonly discover; private readonly registry; private readonly eventEmitter; private readonly logger; constructor(discover: CustomDiscoveryService, registry: EntityManagerRegistry, eventEmitter: NestEventEmitter); initialize(app: INestApplicationContext, staticProviders: EntityManagerStaticProviders): Promise; private registerAuthentication; private registerEntities; private executeInitializers; private executeSeeders; private registerFileProviders; private registerMediaProviders; private registerMediaReferenceRepositoryProviders; private registerMediaFolderRepositoryProviders; private registerGlobalAuthenticationMiddlewares; private registerSecretsProviders; private registerBucketProviders; private registerCacheInstances; private registerFilesReferenceRepositoryProviders; private registerEventTrackingProviders; private registerEmailLogger; private registerEmailTemplateMiddleware; private registerVersioningProviders; private registerEmailProviders; private registerEmailTemplates; private registerOperationLockService; private registerPipelinesServices; private initializeProviders; private discoverEntities; private discoverRepositories; private discoverVersioningProviders; private discoverQueryBuilders; private discoverConverters; private discoverSerializers; private discoverSnapshotService; private discoverAdapters; private discoverAuthMiddlewares; private discoverGlobalAuthenticationMiddlewares; private discoverEntityConnectors; private discoverEntityConnectorMappers; private discoverAppInitializers; private discoverEntitySeeders; private discoverEmailTemplates; private discoverEmailProviders; private discoverEventTrackingProviders; private discoverEmailLogger; private discoverEmailTemplateMiddleware; private discoverOperationLockService; private discoverBucketProviders; private discoverSecretsProviders; private discoverCacheInstances; private discoverFileProviders; private discoverFilesReferenceRepositoryProviders; private discoverMediaProviders; private discoverMediaReferenceRepositories; private discoverMediaFolderRepositories; } declare class AppSessionMiddleware implements NestMiddleware { use(req: Request, res: Response, next: NextFunction): void; } declare class AppSession { private readonly _request; private readonly _response; private readonly _map; constructor(request: TRequest, response: TResponse); get(key: string): T; set(key: string, value: T): void; delete(key: string): void; clear(): void; get request(): TRequest; get response(): TResponse; } declare const sessionStorage: AsyncLocalStorage>, Response>>>; declare class EntityManagerModule implements OnModuleInit { private readonly registry; constructor(registry: EntityManagerRegistry); onModuleInit(): void; } interface IAuthenticationUserRole { uid: string; } interface IAuthenticationUserPermission { uid: string; } interface IAuthenticationOrganizationalUnit { id: string; uid: string; } interface IAuthenticationContext { isAuthenticated: boolean; isAnonymous: boolean; apiKeyId?: string; userId?: string; userContext?: TUserContextData; userRoles?: IAuthenticationUserRole[]; userPermissions?: IAuthenticationUserPermission[]; userOrganizationalUnits?: IAuthenticationOrganizationalUnit[]; } interface IAuthenticationContextProvider { getContext(): Promise>; } interface IAuthenticationData { user: IAuthUser; roles: IAuthenticationUserRole[]; permissions: IAuthenticationUserPermission[]; organizationalUnits: IAuthenticationOrganizationalUnit[]; } interface IAuthenticationMiddleware { processContext(data: TAuthenticationData): Promise; getPriority(): number; } interface IEntitiesSearchQueryOptions> { relations?: TEntitySearchParameters["relations"]; } interface IEntitiesSearchQuery, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> { execute(request: TEntitySearchParameters, options?: IEntitiesSearchQueryOptions): Promise>; } interface IEntityGetQueryOptions> { relations?: TEntitySearchParameters["relations"]; } interface IEntityGetQuery> { execute(id: TEntityId, options?: IEntityGetQueryOptions): Promise; } interface IEntitiesFindQuery, TSorting extends SortingType, TCursor> { execute(request: { filters?: TEntitySearchParameters["filters"]; sorting?: TEntitySearchParameters["sorting"]; relations?: TEntitySearchParameters["relations"]; }): Promise; } interface IEntityExistsQuery { execute(filters: TEntityFilters): Promise; } interface IEntitiesCountQuery { execute(filters: TEntityFilters): Promise; } interface IEntityVersionsSearchQuery { execute(params: IEntityVersionsSearchParameters): Promise>; } interface IEntitiesQueryBuilder, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> { get(id: TEntityId, context?: IAuthenticationContext, options?: IEntityGetQueryOptions): Promise; find(request?: { filters?: TEntitySearchParameters["filters"]; sorting?: TEntitySearchParameters["sorting"]; relations?: TEntitySearchParameters["relations"]; }, context?: IAuthenticationContext): Promise; search(request: TEntitySearchParameters, context?: IAuthenticationContext): Promise>; exists(filters: NonNullable, context?: IAuthenticationContext): Promise; count(filters: NonNullable, context?: IAuthenticationContext): Promise; delete(filters: NonNullable, context?: IAuthenticationContext): Promise; } interface IEntityCreateAction { execute(input: TEntityCreateDto): Promise; } interface IEntityDeleteAction { execute(id: TEntityId): Promise; } interface IEntitiesDeleteAction, TSorting> { execute(params: TEntitiesDeleteParameters): Promise; } interface IEntityGetActionOptions> extends IEntityGetQueryOptions { } interface IEntityGetAction> { execute(id: TEntityId, options?: IEntityGetActionOptions): Promise; } interface IEntityExistsAction { execute(filters: TEntityFilters): Promise; } interface IEntitiesCountAction { execute(filters: TEntityFilters): Promise; } interface IEntityUpdateAction { execute(id: TEntityId, data: TEntityUpdateDto): Promise; } interface IEntityUpsertAction { execute(id: TEntityId, input: TEntityUpdateDto): Promise; } interface IEntitiesSearchActionOptions, TListItemDto> extends IEntitiesSearchQueryOptions { converter?: (item: TEntity) => TListItemDto; } interface IEntitiesSearchAction, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> { execute(request: TEntitySearchParameters, options?: IEntitiesSearchActionOptions): Promise>; } interface IEntitiesExportAction, TSorting extends SortingType, TCursor> { execute(input: EntitiesExportInput): Promise; } interface IEntitiesImportAction { execute(input: EntitiesImportInput): Promise; } interface IEntitiesParseAction { execute(input: EntitiesParseInput): Promise>; } interface IEntitiesSampleDownloadAction { execute(input: EntitiesSampleDownloadOptions): Promise; } interface IEntityVersionsSearchAction { execute(request: IEntityVersionsSearchRequest): Promise>; } interface IEntityActions, TEntitySearchParameters extends IEntitySearchParameters, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> { get get(): IEntityGetAction; get search(): IEntitiesSearchAction; get exists(): IEntityExistsAction>; get count(): IEntitiesCountAction>; get create(): IEntityCreateAction; get update(): IEntityUpdateAction; get upsert(): IEntityUpsertAction; get delete(): IEntityDeleteAction; get deleteItems(): IEntitiesDeleteAction; get export(): IEntitiesExportAction; get import(): IEntitiesImportAction; get parse(): IEntitiesParseAction; get sampleDownload(): IEntitiesSampleDownloadAction; get versions(): IEntityVersionsSearchAction; } interface IAppInitializer { initialize(app: INestApplicationContext): Promise; } type EntitiesMapOperationsInput = { queryBuilder: TEntitiesQueryBuilder; settings: EntityManagerSettings; }; interface IEntityManagerServiceRoot { locator: ServiceLocator; getEntitiesServicesLocator(): EntitiesServiceLocator; getEntityServicesLocator(entityName: string): EntityServiceLocator; addAuthentication, TUserContext>({ provider, }: { provider: TAuthenticationContextProvider; }): void; registerEntity>(entity: IEntityConfiguration, repository: TRepository): IEntityManagerServiceCollection; } interface IEntityManagerServiceCollection { getServiceLocator(): EntityServiceLocator; mapCrudOperations, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TEntitiesQueryBuilder extends IEntitiesQueryBuilder>(input: EntitiesMapOperationsInput): IEntityManagerServiceCollection; addSerializer>(serializer: TEntitySerializer): IEntityManagerServiceCollection; addSnapshotService>(service: TEntitySnapshotService): IEntityManagerServiceCollection; addConverter>(converter: TEntityConverter): IEntityManagerServiceCollection; addAdapter>(adapter: TEntityAdapter): IEntityManagerServiceCollection; addAuthorization, TAuthenticationContext extends IAuthenticationContext, TUserContext>({ middleware, }: { middleware: TEntityAuthorizationMiddleware; }): IEntityManagerServiceCollection; withReplica>({ name, options, repository, }: { name: string; options: ReplicaOptions; repository: TRepository; }): IEntityManagerServiceCollection; withSynchronization, TEntityConnector extends IEntityConnector>({ name, options, connector, mapper, }: { name: string; options: ConnectorOptions; connector: TEntityConnector; mapper: TMapper; }): IEntityManagerServiceCollection; } declare class EntityManagerException extends Error { constructor(message: string); } declare enum EntityOperationType { Create = 0, Update = 1, Delete = 2, Read = 3, Search = 4, Find = 5 } declare abstract class EntityManagerUnauthorizedException extends EntityManagerException { constructor(message: string); } declare class EntityOperationUnauthorizedException extends EntityManagerUnauthorizedException { private readonly operation; private readonly entity?; constructor(operationType: EntityOperationType, entityName: string, entity?: DeepPartial); get getEntity(): DeepPartial | undefined; get getOperation(): EntityOperationType; } declare class EntityNotFoundException extends EntityManagerException { private readonly entityId; private readonly entityType; constructor(entityData: { id: TEntityId; type: string; }); getEntityId(): TEntityId | undefined; getEntityType(): string | undefined; } declare class MultipleEntitiesFoundException extends EntityManagerException { constructor(params: object, items: any[]); } declare class EntityManagerConfigurationError extends EntityManagerException { constructor(message: string); } declare class MissingEntityIdError extends EntityManagerException { constructor(); } type FilterExpression = (entity: TEntity) => boolean; type LocalizedMap = { [key: string]: T; }; type LocalizedTexts = LocalizedMap; declare const createContainer: () => IEntityManagerServiceRoot; type toEntitiesImportInputOptions = Omit, "file"> & { file: Express.Multer.File; }; declare const toEntitiesImportInput: (request: toEntitiesImportInputOptions) => EntitiesImportInput; declare const PLATFORM_EVENT_NAMESPACE = "platform"; declare const PlatformEvents: { Messaging: { EmailSent: string; }; }; interface MessagingEmailSentPayload { from?: string; to?: string[]; cc?: string[]; bcc?: string[]; subject?: string; body?: string; payload?: any; request?: any; } declare class InMemorySecretsProvider implements ISecretsProvider { private readonly secrets; getSecrets(pageName: string): Promise[]>; setSecret(pageName: string, secret: AppSecret): Promise; defineSecret(pageName: string, definition: AppSecretDefinition): Promise; pageInitialize(pageName: string, metadata: AppSecretsPageMetadata): Promise; pageEnsure(pageName: string, metadata: AppSecretsPageMetadata): Promise; pageExists(pageName: string): Promise; } declare class TestingAppSessionService implements IAppSessionService { private readonly values; getValue(key: string): T; setValue(key: string, value: T): void; clearValue(key: string): void; getRequest(): any; mockRequest(request: any): void; retrieveRequest(): any; } declare const getLocalizedText: (item: string | LocalizedTexts, languageId: string, defaultLanguageId?: string) => string; declare const renderHandlebarsTemplate: (input: { template: string; context: TContext; }) => string; declare const newUuid: () => string; declare const fieldRequiredValidator: (item: TSheetItem, selector: (item: TSheetItem) => any) => EntryValidationResult; declare const fieldNumericValidator: (item: TSheetItem, selector: (item: TSheetItem) => number, params?: { min?: number; max?: number; }) => EntryValidationResult; declare const fieldTextValidator: (item: TSheetItem, selector: (item: TSheetItem) => string | string[], params: { required?: boolean; minLength?: number; maxLength?: number; regex?: RegExp; regexErrorCode?: string; }) => EntryValidationResult; declare const fieldEmailValidator: (item: TSheetItem, selector: (item: TSheetItem) => any, params: { required?: boolean; }) => EntryValidationResult; declare const fieldOptionValidator: (item: TSheetItem, selector: (item: TSheetItem) => string, { availableOptions, required, }: { availableOptions: string[]; required?: boolean | undefined; }) => EntryValidationResult; declare const fieldOptionsValidator: (item: TSheetItem, selector: (item: TSheetItem) => string[], { availableOptions, minSelected, maxSelected, }: { availableOptions: string[]; minSelected?: number | undefined; maxSelected?: number | undefined; }) => EntryValidationResult; export { AUTHENTICATION_EVENTS_NAMESPACE, ApiKeyAccess, ApiKeyRouteOptions, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppPermission, AppRole, AppSecret, AppSecretDefinition, AppSecretInput, AppSecretType, AppSecretsPageMetadata, AppSession, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationModuleSettings, AuthenticationService, AwsBatchInfrastructureParams, AwsBatchInvocationParams, AwsBatchSettings, AwsBucketModule, AwsBucketSettings, AwsDynamoDbModule, AwsDynamoDbSettings, AwsEmailModule, AwsJobComputePlatformType, AwsJobDefinition, AwsJobEnvironmentVariable, AwsJobsModule, AwsMediaSettings, AwsS3BucketError, AwsS3BucketProvider, AwsS3MediaError, AwsS3MediaModule, AwsS3MediaProvider, AwsSecretsModule, AwsSecretsProvider, AwsSecretsSettings, AwsSesEmailTemplate, AwsSesEmailTemplateData, AwsSesSettings, BooleanFacetsType, BucketContentItem, BucketFileCopyInput, BucketFileDeleteInput, BucketFileDownloadInput, BucketFileExistsInput, BucketFileMoveInput, BucketFilePublicUrlCreateInput, BucketFileUploadInput, BucketFolderContentResult, BucketFolderCreateInput, BucketFolderEnsureInput, BucketFolderExistsInput, BucketFolderListInput, BucketFolderListResult, BucketItemType, BucketProviderProps, CacheEntryDetail, CacheEntryInfo, CacheInstanceProps, CacheService, CacheTtl, ClassType, ConnectorMode, ConnectorOptions, CurrentUser, CurrentUserData, CustomDiscoveryModule, CustomDiscoveryService, DataExportFile, DataExportInput, DataExportService, DataSerializationFormat, DataSerializerColumnDefinition, DataSheet, DataSheetsBuilder, DataSheetsExporterService, DateFacetsType, DeepPartial, DynamoDbCacheInstance, DynamoDbCacheItem, DynamoDbCollection, EmailAttachmentData, EmailLoggerProps, EmailProviderProps, EmailSendOptions, EmailService, EmailTemplateMiddlewareProps, EmailTemplateProps, EmailVerifyEmailPayload, EmailVerifyTokenPayload, EntitiesExportFile, EntitiesExportInput, EntitiesExportOptions, EntitiesExportResult, EntitiesImportExportSettings, EntitiesImportInput, EntitiesImportResult, EntitiesImportStatistics, EntitiesParseError, EntitiesParseInput, EntitiesParseInputFile, EntitiesParseResult, EntitiesParseResultItem, EntitiesSampleDownloadOptions, EntitiesSampleDownloadResult, EntityActionsProps, EntityAdapterProps, EntityAuthMiddlewareProps, EntityConnectorMapperProps, EntityConnectorProps, EntityConverterProps, EntityExportBucketSettings, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerService, EntityManagerSettings, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityParseResult, EntityParseValidationError, EntityProps, EntityQueryBuilderProps, EntityReference, EntityRepositoryProps, EntitySeeder, EntitySeederProps, EntitySerializationFormat, EntitySerializer, EntitySerializerColumnDefinition, EntitySerializerProps, EntitySerializerSheetDefinition, EntitySnapshotService, EntitySnapshotServiceProps, EntityVersionInput, EntityVersionOperation, EntityVersioningProviderProps, EntryValidationError, EntryValidationResult, EnumType, EventsService, EventsTrackerProps, ExclusiveOperationResult, ExecuteExclusiveInput, ExecuteSequentialInput, FacetBuilderInput, FacetRelations, FacetType, FacetValueType, FileData, FileDownloadUrl, FileProviderDownloadData, FileProviderDownloadUrl, FileProviderProps, FileProviderReference, FileProviderUploadData, FileReference, FileReferenceRecord, FileReferenceRepositoryProps, FilesManager, FilesReferenceData, FilterExpression, GlobalAuthenticationMiddlewareProps, HtmlEmailInput, IAppCompany, IAppDirectory, IAppDivision, IAppInitializer, IAppOrganization, IAppRole, IAppSessionService, IAppTenant, IAppUser, IAppUserGroup, IAppUserProfile, IAuthApiKey, IAuthApiKeysService, IAuthDirectory, IAuthOrganization, IAuthOrganizationalUnit, IAuthPermission, IAuthPermissionService, IAuthRole, IAuthRoleService, IAuthService, IAuthTenant, IAuthUser, IAuthUserContext, IAuthUserProfile, IAuthUserRolesService, IAuthUserService, IAuthUserTokenData, IAuthenticationContext, IAuthenticationContextProvider, IAuthenticationData, IAuthenticationMiddleware, IAuthenticationOrganizationalUnit, IAuthenticationUserPermission, IAuthenticationUserRole, IAuthorizationResult, IBucketProvider, ICache, ICacheDatabaseItem, ICacheInstance, IEmailLogger, IEmailProvider, IEmailTemplate, IEmailTemplateMiddleware, IEmailTemplatesCollection, IEntitiesCountAction, IEntitiesCountQuery, IEntitiesDeleteAction, IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesDeleteResult$1 as IEntitiesDeleteResult, IEntitiesExportAction, IEntitiesExportCommand, IEntitiesImportAction, IEntitiesImportCommand, IEntitiesParseAction, IEntitiesParseCommand, IEntitiesQueryBuilder, IEntitiesSampleDownloadAction, IEntitiesSampleDownloadCommand, IEntitiesSearchAction, IEntitiesSearchQuery, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConnector, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityExistsAction, IEntityExistsQuery, IEntityFacet, IEntityFacetValue, IEntityFacets, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntitySerializer, IEntitySnapshotService, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertByCommand, IEntityUpsertByParameters, IEntityUpsertByResult, IEntityUpsertCommand, IEntityVersionCommand, IEntityVersioningProvider, IEntityVersioningResults, IEntityVersionsCursor, IEntityVersionsFilters, IEntityVersionsReference, IEntityVersionsResultsPaging, IEntityVersionsSearchAction, IEntityVersionsSearchInput, IEntityVersionsSearchParameters, IEntityVersionsSearchQuery, IEntityVersionsSearchResults, IEntityVersionsSorting, IEventLog, IEventsTracker, IFileManager, IFileProvider, IFilesReferenceRepository, IFullTextQuery, IJobDefinitionsRepository, IJobInstancesRepository, ILockRepository, IMediaFolderRepository, IMediaLibraryManager, IMediaProvider, IMediaReferenceRepository, IMultiCompanyEntity, IMultiOrganizationEntity, IMultiTenantEntity, IOperationLockService, IPipelineStepBuilder, IPipelineStepOperationBuilder, IPipelineStepOperationOptionsBuilder, IPipelineTemplateBuilder, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchQueryRelations, ISearchQueryRelationsProperty, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, ISecretsProvider, ITask, ITraverseFilters, InMemoryBucketProvider, InMemoryCacheEntry, InMemoryCacheInstance, InMemoryEmailProvider, InMemoryFileProvider, InMemoryMediaProvider, InMemorySecretsProvider, InvalidCredentialsError, InvalidEntityHandling, JobConcurrency, JobDefinition, JobInstance, JobProviderState$1 as JobProviderState, JobRunType, JobSchedule, JobStatus, JobTriggerInput, JobsModule, JobsService, JobsSettings, LocalizedMap, LocalizedTexts, LockAcquireInput, LockAcquireResult, LockItem, LockNotFoundError, LockReleaseInput, MediaFolderCreateInput, MediaFolderEnsureInput, MediaFolderMoveInput, MediaFolderRecord, MediaFolderReference, MediaFolderRenameInput, MediaFolderRepositoryProps, MediaInfo, MediaItemReference, MediaLibraryService, MediaProviderProps, MediaReference, MediaReferenceCreateInput, MediaReferenceRecord, MediaReferenceRepositoryProps, MediaUploadInput, MemberOf, MessagingEmailSentPayload, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NonNullable$1 as NonNullable, NumberFacetsType, OperationDefinition, OperationLockService, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PasswordResetEmailPayload, Permissions, PipelineCompletedStepState, PipelineController, PipelineCurrentStepState, PipelineDefinition, PipelineErrorType, PipelineInvocationError, PipelineOperationError, PipelineOperationResult, PipelineOperationResultType, PipelineOperationRollbackResult, PipelineOperationRollbackResultType, PipelineResult, PipelineResultType, PipelineStatus, PipelineStep, PipelineStepErrorType, PipelineStepOperation, PipelineStepReference, PipelineStepResult, PipelineStepResultType, PipelineStepRollbackResult, PipelineStepRollbackResultType, PipelineStepState, PipelineTemplateProps, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, RegistrationEmailPayload, ReplicaConfiguration, ReplicaOptions, ReplicationMode, Roles, RolesGuardOptions, RollbackOperationDefinition, RuntimeErrorInformation, SanityMediaError, SanityMediaModule, SanityMediaProvider, SanityMediaSettings, SecretsService, SendgridEmailModule, SendgridEmailTemplate, SendgridEmailTemplateData, SendgridSettings, SendgridTemplateBaseData, SendgridTemplateType, SortDirection$1 as SortDirection, SortingType, StringFacetsType, TaskConcurrency, TaskContext, TaskRunType, TaskSettings, TasksModule, TasksModuleSettings, TasksService, TemplatedEmailInput, TestingAppSessionService, TrackingService, TypeOrmQueryBuilder, TypeOrmRepository, TypeormCacheInstance, TypeormOperationLockRepository, UserCreationError, UserCreationInput, UserCreationResult, UserDeleteInput, UserDisableInput, UserEnableInput, UserLoginEventPayload, UserLoginInput, UserLoginResult, UserPasswordChangeInput, UserPasswordResetCompleteInput, UserPasswordResetCompletedEventPayload, UserPasswordResetRequestCallbackTemplate, UserPasswordResetRequestInput, UserPasswordResetRequestResult, UserPasswordResetStartedEventPayload, UserPasswordResetTokenPayload, UserProfile, UserRegisterCallbackTemplate, UserRegistrationCompletedEventPayload, UserRegistrationError, UserRegistrationInput, UserRegistrationResult, UserRegistrationStartedEventPayload, UserTokenVerifyInput, UserTokenVerifyResult, UserVerifyCompleteInput, UserVerifyRequestCallbackTemplate, UserVerifyRequestInput, UserVerifyRequestResult, WpApiKeysService, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpCacheInstance, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEmailTemplateMiddleware, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConnectorMapper, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpGlobalAuthenticationMiddleware, WpMediaFolderRepository, WpMediaProvider, WpMediaReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpTask, WpUserRolesService, WpUserService, awsBatchSettings, buildPermissionsGuard, buildProviderToken, buildRolesGuard, createContainer, createExpressFileResponse, fieldEmailValidator, fieldNumericValidator, fieldOptionValidator, fieldOptionsValidator, fieldRequiredValidator, fieldTextValidator, getEntityManagerProviderToken, getLocalizedText, newUuid, renderHandlebarsTemplate, sessionStorage, toEntitiesImportInput };