import { A as ApiData } from '../ApiData-DPKNfY-9.mjs'; import { M as ModuleWithPermissions, A as Action } from '../types-Bq_UA8Lg.mjs'; import { A as ApiRequestDataTypeInterface } from '../ApiRequestDataTypeInterface-CYEcRUrh.mjs'; import { A as ApiResponseInterface } from '../ApiResponseInterface-rsXRL_Hn.mjs'; export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-D_dswjgz.mjs'; import 'lucide-react'; import '../ApiDataInterface-BcZeXy5X.mjs'; import '../AbstractService-B0T7h8fX.mjs'; import '../feature.interface-CXb1-vNq.mjs'; import '../notification.interface-BWOCvKRP.mjs'; import '../auth.interface-jYD8Gc4P.mjs'; type CacheProfile = "seconds" | "minutes" | "hours" | "days" | "weeks" | "max" | "default"; /** * Revalidate a cache tag to invalidate cached data. * Next.js 16+ requires a profile parameter. * * @param tag - The cache tag to invalidate * @param profile - The cache profile (defaults to "max" for immediate invalidation) */ declare function invalidateCacheTag(tag: string, profile?: CacheProfile): Promise; /** * Revalidate multiple cache tags. * * @param tags - Array of cache tags to invalidate * @param profile - The cache profile (defaults to "max" for immediate invalidation) */ declare function invalidateCacheTags(tags: string[], profile?: CacheProfile): Promise; interface ServerRequestParams { method: string; url: string; token?: string; cache?: string; body?: any; files?: { [key: string]: File | Blob; } | File | Blob; companyId?: string; language: string; additionalHeaders?: Record; } /** * Server-side request with Next.js caching support. * Uses fetch's native caching options for Next.js compatibility. */ declare function serverRequest(params: ServerRequestParams): Promise; declare class ServerSession { static isLogged(): Promise; static companyId(): Promise; static userId(): Promise; static checkPermission(params: { module: M; action: Action; data?: any; }): Promise; static hasRole(roleId: string): Promise; static hasFeature(featureId: string): Promise; static hasPermissionToModule(params: { module: M; action: Action; data?: any; }): Promise; } /** * Get the authentication token from cookies (server-side) */ declare function getServerToken(): Promise; /** * Configure the JSON:API server client. * Call this in your Bootstrapper or server initialization. */ declare function configureServerJsonApi(config: { apiUrl: string; appUrl?: string; trackablePages?: ModuleWithPermissions[]; bootstrapper?: () => void; additionalHeaders?: Record; }): void; declare function getServerApiUrl(): string; declare function getServerAppUrl(): string; declare function getServerTrackablePages(): ModuleWithPermissions[]; declare function ServerJsonApiGet(params: { classKey: ApiRequestDataTypeInterface; endpoint: string; companyId?: string; language: string; }): Promise; declare function ServerJsonApiPost(params: { classKey: ApiRequestDataTypeInterface; endpoint: string; companyId?: string; body?: any; overridesJsonApiCreation?: boolean; files?: { [key: string]: File | Blob; } | File | Blob; language: string; responseType?: ApiRequestDataTypeInterface; }): Promise; declare function ServerJsonApiPut(params: { classKey: ApiRequestDataTypeInterface; endpoint: string; companyId?: string; body?: any; files?: { [key: string]: File | Blob; } | File | Blob; language: string; responseType?: ApiRequestDataTypeInterface; }): Promise; declare function ServerJsonApiPatch(params: { classKey: ApiRequestDataTypeInterface; endpoint: string; companyId?: string; body?: any; files?: { [key: string]: File | Blob; } | File | Blob; overridesJsonApiCreation?: boolean; responseType?: ApiRequestDataTypeInterface; language: string; }): Promise; declare function ServerJsonApiDelete(params: { classKey: ApiRequestDataTypeInterface; endpoint: string; companyId?: string; language: string; responseType?: ApiRequestDataTypeInterface; }): Promise; export { type CacheProfile, ServerJsonApiDelete, ServerJsonApiGet, ServerJsonApiPatch, ServerJsonApiPost, ServerJsonApiPut, type ServerRequestParams, ServerSession, configureServerJsonApi, getServerApiUrl, getServerAppUrl, getServerToken, getServerTrackablePages, invalidateCacheTag, invalidateCacheTags, serverRequest };