/** * Executes a callback as a privileged action, optionally checking configuration and permissions. * Throws an error if configuration is missing or required permissions are not met. * * @template T * @param {() => T} callback - The function to execute as a privileged action. * @param {PrivilegedActionOptions} [options] - Options for privileged action. * @returns {T} The result of the callback function. * @throws {Error} If configuration is missing or permissions are not met. */ export function privilegedAction(callback: () => T, { requireConfiguration, requiredPermissions, permissionsNode, }?: PrivilegedActionOptions): T; /** * Checks if privileged actions are configured. * @returns {boolean} True if privileged actions are configured, false otherwise. */ export function isPrivilegedConfigured(): boolean; /** * Gets the privileged action user. * @returns {Node} The privileged user node, or null if isConfigured is false. */ export function getPrivilegedUser(): Node; export type Permission = typeof import("@sitevision/api/server/PermissionUtil.Permission"); export type Node = import('@sitevision/api/types/javax/jcr/Node').Node; export type PrivilegedActionOptions = { /** * - Whether to require privileged configuration, default is true. */ requireConfiguration?: boolean; /** * - List of required permissions. */ requiredPermissions?: Permission[]; /** * - Node to check permissions against, falls back to the current page if not provided. */ permissionsNode?: Node; };