import { ServiceNowInstance } from "../ServiceNowInstance.js"; import { ApplicationRecord, SetCurrentApplicationResult, ListApplicationsOptions } from './ScopeModels.js'; /** * ScopeManager provides operations for managing ServiceNow application scopes. * Supports setting/getting the current application, listing applications, * and retrieving application details. */ export declare class ScopeManager { private static readonly UI_APP_PATH; private static readonly UI_CONCOURSEPICKER_CURRENT_PATH; private static readonly SYS_SCOPE_TABLE; private _logger; private _req; private _tableAPI; private _instance; constructor(instance: ServiceNowInstance); /** * Set the current application scope. * Validates the sys_id, retrieves the previous scope, performs the PUT, * and verifies the change. * * @param appSysId The sys_id of the application to set as current (32-char hex or "global") * @returns Result of the operation including previous scope and verification * @throws Error if appSysId is invalid or the application is not found */ setCurrentApplication(appSysId: string): Promise; /** * Get the current application scope. * Uses GET /api/now/ui/concoursepicker/current * * @returns The current ApplicationRecord or null */ getCurrentApplication(): Promise; /** * List applications from the sys_scope table. * Uses Table API GET on sys_scope. * * @param options Optional query and limit options * @returns Array of ApplicationRecord */ listApplications(options?: ListApplicationsOptions): Promise; /** * Get a specific application by sys_id. * Uses Table API GET on sys_scope with sys_id filter. * * @param sysId The sys_id of the application to retrieve * @returns The ApplicationRecord or null if not found * @throws Error if sysId is empty or the API call fails */ getApplication(sysId: string): Promise; }