import AdminForthAuth from './auth.js'; import CodeInjector from './modules/codeInjector.js'; import ExpressServer from './servers/express.js'; import OpenApiRegistry from './servers/openapi.js'; import { suggestIfTypo, RateLimiter, RAMLock, getClientIp, convertPeriodToSeconds } from './modules/utils.js'; import { type AdminForthConfig, type IAdminForth, type IConfigValidator, type AdminForthResourceColumn, IOperationalResource, IHttpServer, AdminForthResource, IAdminForthDataSourceConnectorBase, IWebSocketBroker, AdminForthInputConfig, CreateResourceRecordParams, UpdateResourceRecordParams, DeleteResourceRecordParams, CreateResourceRecordResult, UpdateResourceRecordResult, DeleteResourceRecordResult, AdminForthMenuContributionProvider } from './types/Back.js'; import { AdminForthDataTypes, AdminUser, type AdminForthConfigMenuItem, type AdminForthMenuContribution } from './types/Common.js'; import AdminForthPlugin from './basePlugin.js'; import AdminForthRestAPI, { interpretResource, rejectApiRawFilters } from './modules/restApi.js'; export { afLogger } from './modules/logger.js'; export { dbLogger } from './modules/logger.js'; export { logger } from './modules/logger.js'; export * from './types/Back.js'; export * from './types/Common.js'; export * from './types/adapters/index.js'; export * from './modules/filtersTools.js'; export * from './modules/requestContext.js'; export * from './modules/utils.js'; export { interpretResource, rejectApiRawFilters }; export { AdminForthPlugin }; export { suggestIfTypo, RateLimiter, RAMLock, getClientIp, convertPeriodToSeconds }; export { default as AdminForthBaseConnector } from './dataConnectors/baseConnector.js'; export { COMPOSITE_RECORD_ID_SEPARATOR, primaryKeyColumns, primaryKeyColumnNames, isCompositePrimaryKey, encodeRecordId, decodeRecordId, } from './modules/recordId.js'; declare class AdminForth implements IAdminForth { static Types: typeof AdminForthDataTypes; static Utils: { generatePasswordHash: (password: any) => Promise; verifyPassword: (password: any, hash: any) => Promise; applyRegexValidation(value: any, validation: any): any; PASSWORD_VALIDATORS: { UP_LOW_NUM_SPECIAL: { regExp: string; message: string; }; UP_LOW_NUM: { regExp: string; message: string; }; }; EMAIL_VALIDATOR: { regExp: string; message: string; }; }; config: AdminForthConfig; express: ExpressServer; auth: AdminForthAuth; codeInjector: CodeInjector; openApi: OpenApiRegistry; connectors: { [dataSourceId: string]: IAdminForthDataSourceConnectorBase; }; connectorClasses: any; runningHotReload: boolean; activatedPlugins: Array; pluginsById: Record; private menuContributions; private menuContributionProviders; configValidator: IConfigValidator; restApi: AdminForthRestAPI; websocket: IWebSocketBroker; registerMenuContribution(contribution: AdminForthMenuContribution): void; registerMenuContributionProvider(provider: AdminForthMenuContributionProvider): void; getMenuContributions(): AdminForthMenuContribution[]; getMenuWithContributions(adminUser?: AdminUser, menu?: AdminForthConfigMenuItem[]): Promise; refreshMenu(adminUser: AdminUser): Promise; refreshMenuBadge(menuItemId: string, adminUser: AdminUser): Promise; operationalResources: { [resourceId: string]: IOperationalResource; }; statuses: { dbDiscover: 'running' | 'done'; }; constructor(config: AdminForthInputConfig); formatAdminForth(): string; tr(this: any, msg: string, category: string, lang: string, params: any): Promise; activatePlugins(): void; getPluginsByClassName(className: string): T[]; getPluginByClassName(className: string): T; getPluginById(id: string): T; validateFieldGroups(fieldGroups: { groupName: string; columns: string[]; noTitle?: boolean; }[], fieldTypes: { [key: string]: AdminForthResourceColumn; }): void; validateRecordValues(resource: AdminForthResource, record: any, mode: 'create' | 'edit'): any; tryToImportConnector(connectorName: string, doesUserHavePnpmLock: boolean): Promise; discoverDatabases(): Promise; getAllTables(): Promise<{ [dataSourceId: string]: string[]; }>; getAllColumnsInTable(tableName: string, requestedDataSourceId?: string): Promise<{ [dataSourceId: string]: Array<{ name: string; type?: string; isPrimaryKey?: boolean; isUUID?: boolean; }>; }>; bundleNow({ hotReload, buildTime }: { hotReload?: boolean; buildTime?: boolean; }): Promise; getUserByPk(pk: string): Promise; /** * Create record and execute hooks * @param params - Parameters for record creation. See CreateResourceRecordParams. * @returns Result of record creation. See CreateResourceRecordResult. */ createResourceRecord(params: CreateResourceRecordParams): Promise; /** * record is partial record with only changed fields * * Update record by id and execute hooks * @param params - Parameters for record update. See UpdateResourceRecordParams. * @returns Result of record update. See UpdateResourceRecordResult. */ updateResourceRecord(params: UpdateResourceRecordParams): Promise; /** * Delete record by id and execute hooks * @param params - Parameters for record deletion. See DeleteResourceRecordParams. * @returns Result of record deletion. See DeleteResourceRecordResult. */ deleteResourceRecord(params: DeleteResourceRecordParams): Promise; runAction({ resourceId, actionId, recordId, adminUser, extra, response, tr, }: { resourceId: string; actionId: string; recordId: string | number; adminUser: AdminUser; extra: any; response?: any; tr?: any; }): Promise<{ ok: boolean; error?: string; message?: string; }>; resource(resourceId: string): IOperationalResource; setupEndpoints(server: IHttpServer): void; } export default AdminForth; //# sourceMappingURL=index.d.ts.map