export * from './users';
export * from './roles';
export * from './applications';
export * from './dashboard';
export * from './settings';
export * from './tenants';
export * from './externalApps';
export * from './crossCutting';
export type { ApiContext } from './_shared';
export type { PaginatedResult } from './_shared';
/**
 * Creates the Admin API service with an optional tenant context.
 * When tenantSlug is provided, all API calls will include the X-Tenant-Slug header.
 * This is needed for Super Admins viewing tenant-specific pages without "switching" to that tenant.
 */
declare const createAdminApi: (tenantSlug?: string) => {
    users: {
        getAll: (params?: {
            page?: number;
            pageSize?: number;
            search?: string;
            isActive?: boolean;
            entraOnly?: boolean;
            roleId?: string;
            userType?: string;
            sortBy?: string;
            sortDesc?: boolean;
            globalScope?: boolean;
        }) => Promise<import("./_shared").PaginatedResult<import("./users").UserListDto>>;
        getById: (id: string) => Promise<import("./users").UserDetailDto>;
        create: (data: import("./users").CreateUserRequest) => Promise<import("./users").UserDetailDto>;
        update: (id: string, data: import("./users").UpdateUserRequest) => Promise<import("./users").UserDetailDto>;
        sendPasswordResetLink: (id: string) => Promise<{
            message: string;
        }>;
        resetPasswordDirect: (id: string, temporaryPassword?: string) => Promise<{
            message: string;
            temporaryPassword: string;
            mustChangePassword: boolean;
        }>;
        activate: (id: string) => Promise<unknown>;
        deactivate: (id: string) => Promise<unknown>;
        unlock: (id: string, data: import("./users").UnlockAccountRequest) => Promise<{
            message: string;
            mustChangePassword: boolean;
        }>;
        clearFailedAttempts: (id: string) => Promise<{
            message: string;
            clearedCount: number;
        }>;
        delete: (id: string) => Promise<unknown>;
        getSessions: (id: string) => Promise<import("./dashboard").UserSessionsDto>;
        endAllSessions: (id: string) => Promise<unknown>;
        endSession: (userId: string, sessionId: string) => Promise<unknown>;
        getActivity: (id: string) => Promise<import("./dashboard").UserActivityDto>;
        getCustomRole: (id: string) => Promise<import("./roles").RoleDetailDto | null>;
        createCustomRole: (id: string) => Promise<import("./roles").RoleDetailDto>;
        deleteCustomRole: (id: string) => Promise<unknown>;
        getHistory: (id: string, limit?: number) => Promise<import("./users").UserHistoryDto[]>;
        restoreFromHistory: (userId: string, historyId: string) => Promise<{
            message: string;
            field: string;
            restoredValue: string;
        }>;
        getOrganizationReferences: () => Promise<import("./users").OrganizationReferencesDto>;
        references: {
            getCompanies: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").ReferenceListDto[]>;
            getDepartments: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").ReferenceListDto[]>;
            getJobTitles: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").ReferenceListDto[]>;
            getOffices: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").OfficeListDto[]>;
            createCompany: (data: import("./users").CreateReferenceRequest, tenantId?: string) => Promise<import("./users").ReferenceListDto>;
            createDepartment: (data: import("./users").CreateReferenceRequest, tenantId?: string) => Promise<import("./users").ReferenceListDto>;
            createJobTitle: (data: import("./users").CreateReferenceRequest, tenantId?: string) => Promise<import("./users").ReferenceListDto>;
            createOffice: (data: import("./users").CreateOfficeRequest, tenantId?: string) => Promise<import("./users").OfficeListDto>;
            updateCompany: (id: string, data: import("./users").UpdateReferenceRequest) => Promise<unknown>;
            updateDepartment: (id: string, data: import("./users").UpdateReferenceRequest) => Promise<unknown>;
            updateJobTitle: (id: string, data: import("./users").UpdateReferenceRequest) => Promise<unknown>;
            updateOffice: (id: string, data: import("./users").UpdateOfficeRequest) => Promise<unknown>;
            activateCompany: (id: string) => Promise<unknown>;
            activateDepartment: (id: string) => Promise<unknown>;
            activateJobTitle: (id: string) => Promise<unknown>;
            activateOffice: (id: string) => Promise<unknown>;
            deactivateCompany: (id: string) => Promise<unknown>;
            deactivateDepartment: (id: string) => Promise<unknown>;
            deactivateJobTitle: (id: string) => Promise<unknown>;
            deactivateOffice: (id: string) => Promise<unknown>;
            deleteCompany: (id: string) => Promise<unknown>;
            deleteDepartment: (id: string) => Promise<unknown>;
            deleteJobTitle: (id: string) => Promise<unknown>;
            deleteOffice: (id: string) => Promise<unknown>;
        };
        updateProfile: (id: string, data: import("./users").UpdateProfileRequest) => Promise<unknown>;
        updateOrganization: (id: string, data: import("./users").UpdateOrganizationRequest) => Promise<unknown>;
        updateJobInfo: (id: string, data: import("./users").UpdateJobInfoRequest) => Promise<unknown>;
        updatePhones: (id: string, data: import("./users").UpdatePhonesRequest) => Promise<unknown>;
        updateAddress: (id: string, data: import("./users").UpdateAddressRequest) => Promise<unknown>;
        updateContact: (id: string, data: import("./users").UpdateContactRequest) => Promise<unknown>;
        getTenants: (id: string) => Promise<import("./crossCutting").UserTenantDto[]>;
        getGroups: (id: string) => Promise<import("./crossCutting").UserGroupDto[]>;
        getConsolidatedRoles: (id: string, tenantId?: string) => Promise<import("./crossCutting").UserConsolidatedRoleDto[]>;
        getApplicationAccess: (id: string, tenantId?: string) => Promise<import("./crossCutting").UserApplicationAccessDto[]>;
    };
    roles: {
        getAll: (params?: {
            search?: string;
            excludeCategories?: string;
            minPermissionsCount?: number;
        }) => Promise<import("./roles").RoleListDto[]>;
        getAssignable: () => Promise<import("./roles").RoleListDto[]>;
        getServiceAssignable: () => Promise<import("./roles").RoleListDto[]>;
        getByApplication: (applicationId: string) => Promise<import("./roles").RoleListDto[]>;
        getById: (id: string) => Promise<import("./roles").RoleDetailDto>;
        create: (data: import("./roles").CreateRoleRequest) => Promise<import("./roles").RoleDetailDto>;
        update: (id: string, data: import("./roles").UpdateRoleRequest) => Promise<import("./roles").RoleDetailDto>;
        delete: (id: string) => Promise<unknown>;
        assignUser: (roleId: string, userId: string) => Promise<unknown>;
        removeUser: (roleId: string, userId: string) => Promise<unknown>;
        getGroups: (roleId: string) => Promise<import("./roles").RoleGroupDto[]>;
        assignGroup: (roleId: string, groupId: string) => Promise<unknown>;
        removeGroup: (roleId: string, groupId: string) => Promise<unknown>;
        getTranslations: (roleId: string) => Promise<import("./roles").RoleTranslationDto[]>;
        upsertTranslation: (roleId: string, languageCode: string, data: import("./roles").UpdateRoleTranslationRequest) => Promise<import("./roles").RoleTranslationDto>;
        deleteTranslation: (roleId: string, languageCode: string) => Promise<unknown>;
    };
    permissions: {
        getAll: (params?: {
            search?: string;
            level?: string;
        }) => Promise<import("./roles").PermissionListDto[]>;
        getById: (id: string) => Promise<import("./roles").PermissionDetailDto>;
        getTree: () => Promise<import("./roles").PermissionTreeDto>;
        getMatrix: () => Promise<import("./roles").PermissionMatrixDto>;
        delete: (id: string) => Promise<unknown>;
    };
    applications: {
        getAll: (params?: {
            contextId?: string;
            isActive?: boolean;
        }) => Promise<import("./applications").ApplicationListDto[]>;
        getById: (id: string) => Promise<import("./applications").ApplicationDetailDto>;
        update: (id: string, data: import("./applications").UpdateApplicationRequest) => Promise<import("./applications").ApplicationDetailDto>;
        activate: (id: string) => Promise<unknown>;
        deactivate: (id: string) => Promise<unknown>;
        getModules: (appId: string) => Promise<import("./applications").ApplicationModuleDto[]>;
        updateModule: (appId: string, moduleId: string, data: import("./applications").UpdateModuleRequest) => Promise<import("./applications").ApplicationModuleDto>;
        getModuleSections: (appId: string, moduleId: string) => Promise<import("./applications").ModuleSectionDto[]>;
        reorderModules: (appId: string, items: import("./applications").ReorderItemDto[]) => Promise<unknown>;
        reorderSections: (appId: string, moduleId: string, items: import("./applications").ReorderItemDto[]) => Promise<unknown>;
        getTenants: (appId: string) => Promise<import("./applications").ApplicationTenantDto[]>;
        getAvailableTenants: (appId: string) => Promise<import("./applications").AvailableTenantsResponse>;
        assignToTenant: (appId: string, tenantId: string, accessLevel?: import("./applications").ApplicationAccessLevel) => Promise<import("./applications").ApplicationTenantDto>;
        removeFromTenant: (appId: string, tenantId: string) => Promise<unknown>;
        updateTenantAccessLevel: (appId: string, tenantId: string, accessLevel: import("./applications").ApplicationAccessLevel) => Promise<unknown>;
        bulkAssignTenants: (appId: string, request: import("./applications").BulkAssignTenantsRequest) => Promise<import("./applications").BulkAssignTenantsResponse>;
    };
    dashboard: {
        getOverview: (days?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserDashboardOverviewDto>;
        getByStatus: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserStatusCountDto[]>;
        getByRole: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserRoleDistributionDto[]>;
        getByType: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserTypeDistributionDto[]>;
        getLoginActivity: (days?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").LoginActivityStatsDto>;
        getTrends: (days?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserTrendDto[]>;
        getRecentUsers: (limit?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").RecentUserDto[]>;
        getSecurityAlerts: (threshold?: number, hours?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").SecurityAlertDto[]>;
        getActiveSessions: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").ActiveSessionsStatsDto>;
        getLatestActiveSessions: (limit?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").LatestActiveSessionDto[]>;
    };
    settings: {
        getAll: () => Promise<import("./settings").SettingViewModel[]>;
        getByCategory: (category: string) => Promise<import("./settings").SettingViewModel[]>;
        get: (category: string, key: string) => Promise<import("./settings").SettingDto>;
        update: (category: string, key: string, value: string) => Promise<import("./settings").SettingDto>;
        reset: (category: string, key: string) => Promise<import("./settings").SettingDto>;
        getHistory: (category: string, key: string) => Promise<import("./settings").SettingHistoryDto[]>;
        getCategories: () => Promise<string[]>;
    };
    tenants: {
        getConfig: () => Promise<import("./tenants").MultitenantConfigResponse>;
        getAll: (params?: {
            page?: number;
            pageSize?: number;
            search?: string;
            status?: import("./tenants").TenantStatus;
            type?: import("./tenants").TenantType;
            sortBy?: string;
            sortDesc?: boolean;
            excludeTypes?: import("./tenants").TenantType[];
        }) => Promise<import("./_shared").PaginatedResult<import("./tenants").TenantListDto>>;
        getById: (id: string) => Promise<import("./tenants").TenantDetailDto>;
        createB2C: (data: import("./tenants").CreateTenantB2CRequest) => Promise<import("./tenants").TenantDetailDto>;
        createB2B: (data: import("./tenants").CreateTenantB2BRequest) => Promise<import("./tenants").TenantDetailDto>;
        update: (id: string, data: import("./tenants").UpdateTenantRequest) => Promise<import("./tenants").TenantDetailDto>;
        delete: (id: string) => Promise<unknown>;
        activate: (id: string) => Promise<unknown>;
        suspend: (id: string) => Promise<unknown>;
        archive: (id: string) => Promise<unknown>;
        checkSlugAvailable: (slug: string) => Promise<{
            available: boolean;
        }>;
        assignTemplate: (tenantId: string, templateId: string) => Promise<unknown>;
        removeTemplate: (tenantId: string) => Promise<unknown>;
        getMembers: (tenantId: string) => Promise<import("./tenants").TenantMemberDto[]>;
        getMember: (tenantId: string, memberId: string) => Promise<import("./tenants").TenantMemberDto>;
        addMember: (tenantId: string, data: import("./tenants").AddTenantMemberRequest) => Promise<import("./tenants").TenantMemberDto>;
        removeMember: (tenantId: string, userId: string) => Promise<unknown>;
        setMemberDefault: (tenantId: string, userId: string) => Promise<unknown>;
        transferOwnership: (tenantId: string, toUserId: string) => Promise<unknown>;
        assignRole: (tenantId: string, tenantUserId: string, roleId: string) => Promise<unknown>;
        removeRole: (tenantId: string, tenantUserId: string, roleId: string) => Promise<unknown>;
        assignMemberRoles: (tenantId: string, tenantUserId: string, roleIds: string[]) => Promise<unknown>;
        getMemberCustomRole: (tenantId: string, memberId: string) => Promise<import("./tenants").TenantMemberCustomRoleDto | null>;
        createMemberCustomRole: (tenantId: string, memberId: string) => Promise<import("./tenants").TenantMemberCustomRoleDto>;
        deleteMemberCustomRole: (tenantId: string, memberId: string) => Promise<unknown>;
        getTenantRoles: (tenantId: string) => Promise<import("./tenants").TenantRoleDto[]>;
        getGroups: (tenantId: string) => Promise<import("./tenants").TenantGroupDto[]>;
        getAvailableGroups: (tenantId: string) => Promise<import("./tenants").AvailableGroupDto[]>;
        addGroupToTenant: (tenantId: string, groupId: string) => Promise<unknown>;
        removeGroupFromTenant: (tenantId: string, groupId: string) => Promise<unknown>;
        getApplications: (tenantId: string) => Promise<import("./tenants").TenantApplicationDto[]>;
        getAvailableApplications: (tenantId: string) => Promise<import("./tenants").AvailableApplicationDto[]>;
        assignApplication: (tenantId: string, applicationId: string) => Promise<import("./tenants").TenantApplicationDto>;
        removeApplication: (tenantId: string, applicationId: string) => Promise<unknown>;
        bulkAssignApplications: (tenantId: string, request: import("./applications").BulkAssignAppsRequest) => Promise<import("./applications").BulkAssignAppsResponse>;
        toggleApplication: (tenantId: string, applicationId: string, isActive: boolean) => Promise<unknown>;
        updateApplicationAccessLevel: (tenantId: string, applicationId: string, accessLevel: import("./applications").ApplicationAccessLevel) => Promise<unknown>;
        getEffectiveTree: (tenantId: string, applicationId: string) => Promise<import("./tenants").EffectiveModuleNode[]>;
        saveOverrides: (tenantId: string, applicationId: string, request: import("./tenants").SaveOverridesRequest) => Promise<unknown>;
        getModules: (tenantId: string) => Promise<import("./tenants").TenantModuleDto[]>;
        getAvailableModules: (tenantId: string) => Promise<import("./tenants").AvailableModuleDto[]>;
        assignModule: (tenantId: string, moduleId: string) => Promise<import("./tenants").TenantModuleDto>;
        removeModule: (tenantId: string, moduleId: string) => Promise<unknown>;
        toggleModule: (tenantId: string, moduleId: string, isActive: boolean) => Promise<unknown>;
        getSections: (tenantId: string) => Promise<import("./tenants").TenantSectionDto[]>;
        getAvailableSections: (tenantId: string) => Promise<import("./tenants").AvailableSectionDto[]>;
        assignSection: (tenantId: string, sectionId: string) => Promise<import("./tenants").TenantSectionDto>;
        removeSection: (tenantId: string, sectionId: string) => Promise<unknown>;
        toggleSection: (tenantId: string, sectionId: string, isActive: boolean) => Promise<unknown>;
        getModulesWithSections: (tenantId: string, applicationId: string) => Promise<import("./tenants").ModuleWithSectionsDto[]>;
        linkOrganisation: (tenantId: string, organisationId: string) => Promise<unknown>;
        unlinkOrganisation: (tenantId: string) => Promise<unknown>;
    };
    templates: {
        getAll: () => Promise<import("./tenants").TenantTemplateDto[]>;
        getById: (id: string) => Promise<import("./tenants").TenantTemplateDetailDto>;
        create: (data: import("./tenants").CreateTenantTemplateRequest) => Promise<import("./tenants").TenantTemplateDto>;
        update: (id: string, data: import("./tenants").UpdateTenantTemplateRequest) => Promise<import("./tenants").TenantTemplateDto>;
        delete: (id: string) => Promise<unknown>;
        assignApplication: (templateId: string, appId: string) => Promise<unknown>;
        removeApplication: (templateId: string, appId: string) => Promise<unknown>;
        bulkAssignApplications: (templateId: string, request: import("./tenants").BulkAssignTemplateAppsRequest) => Promise<unknown>;
        getTenants: (templateId: string) => Promise<import("./tenants").TenantBasicDto[]>;
        getApplications: (templateId: string) => Promise<import("./tenants").TemplateApplicationEnrichedDto[]>;
        getAvailableApplications: (templateId: string) => Promise<import("./tenants").AvailableApplicationDto[]>;
        updateApplicationAccessLevel: (templateId: string, appId: string, accessLevel: import("./applications").ApplicationAccessLevel) => Promise<unknown>;
        getApplicationModules: (templateId: string, appId: string) => Promise<import("./tenants").TemplateAppModuleTreeDto[]>;
        updateApplicationModules: (templateId: string, appId: string, request: import("./tenants").UpdateTemplateAppModulesRequest) => Promise<unknown>;
        getAiInstances: (templateId: string) => Promise<import("./tenants").TemplateAiInstanceDto[]>;
        assignAiInstance: (templateId: string, instanceId: string) => Promise<unknown>;
        removeAiInstance: (templateId: string, instanceId: string) => Promise<unknown>;
    };
    organisations: {
        getAll: (params?: {
            page?: number;
            pageSize?: number;
            search?: string;
            countryCode?: string;
            verificationStatus?: import("./tenants").VerificationStatus;
            sortBy?: string;
            sortDesc?: boolean;
        }) => Promise<import("./_shared").PaginatedResult<import("./tenants").OrganisationListItemDto>>;
        getAvailable: (search?: string) => Promise<import("./tenants").OrganisationListItemDto[]>;
        getPendingVerification: () => Promise<import("./tenants").OrganisationListItemDto[]>;
        getById: (id: string) => Promise<import("./tenants").OrganisationDto>;
        findById: (id: string) => Promise<import("./tenants").OrganisationDto | null>;
        create: (data: import("./tenants").CreateOrganisationRequest) => Promise<import("./tenants").OrganisationDto>;
        updateContact: (id: string, data: {
            phone?: string;
            email?: string;
            website?: string;
        }) => Promise<import("./tenants").OrganisationDto>;
        updateAddress: (id: string, data: import("./tenants").CreateAddressRequest) => Promise<import("./tenants").OrganisationDto>;
        verify: (id: string, notes?: string) => Promise<import("./tenants").OrganisationDto>;
        reject: (id: string, reason: string) => Promise<import("./tenants").OrganisationDto>;
        lookup: (countryCode: string, identifier: string) => Promise<import("./tenants").CompanyLookupResponse>;
    };
    myTenants: {
        getAll: (search?: string) => Promise<import("./crossCutting").UserTenantDto[]>;
        getDefault: () => Promise<import("./crossCutting").UserTenantDto | null>;
        setDefault: (tenantId: string) => Promise<unknown>;
        clearDefault: () => Promise<unknown>;
        getFavorites: () => Promise<string[]>;
        addFavorite: (tenantId: string) => Promise<string[]>;
        removeFavorite: (tenantId: string) => Promise<string[]>;
        recordRecent: (tenantId: string) => Promise<unknown>;
    };
    preferences: {
        get: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
        getGlobal: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
        getForTenant: (tenantId: string) => Promise<import("./settings").UserPreferencesWithScopeDto>;
        getThemeOverrides: () => Promise<string[]>;
        deleteTenantOverride: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
        applyToTenant: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
    };
    externalApps: {
        getAll: (params?: {
            search?: string;
            isActive?: boolean;
        }) => Promise<import("./externalApps").ExternalApplicationDto[]>;
        getById: (id: string) => Promise<import("./externalApps").ExternalApplicationDetailDto>;
        create: (data: import("./externalApps").CreateExternalApplicationRequest) => Promise<import("./externalApps").ExternalApplicationCreatedDto>;
        update: (id: string, data: import("./externalApps").UpdateExternalApplicationRequest) => Promise<import("./externalApps").ExternalApplicationDetailDto>;
        delete: (id: string) => Promise<unknown>;
        activate: (id: string) => Promise<unknown>;
        deactivate: (id: string) => Promise<unknown>;
        rotateSecret: (id: string, keySlot?: "Primary" | "Secondary") => Promise<import("./externalApps").RotateSecretResponse>;
        revokeSecondarySecret: (id: string) => Promise<unknown>;
        assignRole: (id: string, data: import("./externalApps").AssignRoleToExternalAppRequest) => Promise<unknown>;
        removeRole: (id: string, roleId: string, tenantId?: string) => Promise<unknown>;
        generateSecret: () => Promise<import("./externalApps").GeneratedSecretDto>;
        getAuditLogs: (id: string, page?: number, pageSize?: number) => Promise<import("./_shared").PaginatedResult<import("./externalApps").ExternalAppAuditLogDto>>;
        getUsageStats: (id: string, days?: number) => Promise<import("./externalApps").ExternalAppUsageStatsDto>;
        getKeyUsage: (id: string) => Promise<import("./externalApps").KeyUsageStatsDto>;
        getApiEndpoints: () => Promise<import("./externalApps").DataApiEndpointDto[]>;
        getAppApiAccess: (appId: string) => Promise<import("./externalApps").ApiAccessDto[]>;
        updateApiAccess: (appId: string, endpointId: string, data: import("./externalApps").UpdateApiAccessRequest) => Promise<import("./externalApps").ApiAccessDto>;
        removeApiAccess: (appId: string, endpointId: string) => Promise<unknown>;
    };
    apiCatalog: {
        getNavigationLookup: () => Promise<import("./externalApps").ApplicationLookupDto[]>;
    };
};
export declare const adminApi: {
    users: {
        getAll: (params?: {
            page?: number;
            pageSize?: number;
            search?: string;
            isActive?: boolean;
            entraOnly?: boolean;
            roleId?: string;
            userType?: string;
            sortBy?: string;
            sortDesc?: boolean;
            globalScope?: boolean;
        }) => Promise<import("./_shared").PaginatedResult<import("./users").UserListDto>>;
        getById: (id: string) => Promise<import("./users").UserDetailDto>;
        create: (data: import("./users").CreateUserRequest) => Promise<import("./users").UserDetailDto>;
        update: (id: string, data: import("./users").UpdateUserRequest) => Promise<import("./users").UserDetailDto>;
        sendPasswordResetLink: (id: string) => Promise<{
            message: string;
        }>;
        resetPasswordDirect: (id: string, temporaryPassword?: string) => Promise<{
            message: string;
            temporaryPassword: string;
            mustChangePassword: boolean;
        }>;
        activate: (id: string) => Promise<unknown>;
        deactivate: (id: string) => Promise<unknown>;
        unlock: (id: string, data: import("./users").UnlockAccountRequest) => Promise<{
            message: string;
            mustChangePassword: boolean;
        }>;
        clearFailedAttempts: (id: string) => Promise<{
            message: string;
            clearedCount: number;
        }>;
        delete: (id: string) => Promise<unknown>;
        getSessions: (id: string) => Promise<import("./dashboard").UserSessionsDto>;
        endAllSessions: (id: string) => Promise<unknown>;
        endSession: (userId: string, sessionId: string) => Promise<unknown>;
        getActivity: (id: string) => Promise<import("./dashboard").UserActivityDto>;
        getCustomRole: (id: string) => Promise<import("./roles").RoleDetailDto | null>;
        createCustomRole: (id: string) => Promise<import("./roles").RoleDetailDto>;
        deleteCustomRole: (id: string) => Promise<unknown>;
        getHistory: (id: string, limit?: number) => Promise<import("./users").UserHistoryDto[]>;
        restoreFromHistory: (userId: string, historyId: string) => Promise<{
            message: string;
            field: string;
            restoredValue: string;
        }>;
        getOrganizationReferences: () => Promise<import("./users").OrganizationReferencesDto>;
        references: {
            getCompanies: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").ReferenceListDto[]>;
            getDepartments: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").ReferenceListDto[]>;
            getJobTitles: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").ReferenceListDto[]>;
            getOffices: (params?: {
                tenantId?: string;
                search?: string;
                isActive?: boolean;
                source?: "entra" | "manual";
            }) => Promise<import("./users").OfficeListDto[]>;
            createCompany: (data: import("./users").CreateReferenceRequest, tenantId?: string) => Promise<import("./users").ReferenceListDto>;
            createDepartment: (data: import("./users").CreateReferenceRequest, tenantId?: string) => Promise<import("./users").ReferenceListDto>;
            createJobTitle: (data: import("./users").CreateReferenceRequest, tenantId?: string) => Promise<import("./users").ReferenceListDto>;
            createOffice: (data: import("./users").CreateOfficeRequest, tenantId?: string) => Promise<import("./users").OfficeListDto>;
            updateCompany: (id: string, data: import("./users").UpdateReferenceRequest) => Promise<unknown>;
            updateDepartment: (id: string, data: import("./users").UpdateReferenceRequest) => Promise<unknown>;
            updateJobTitle: (id: string, data: import("./users").UpdateReferenceRequest) => Promise<unknown>;
            updateOffice: (id: string, data: import("./users").UpdateOfficeRequest) => Promise<unknown>;
            activateCompany: (id: string) => Promise<unknown>;
            activateDepartment: (id: string) => Promise<unknown>;
            activateJobTitle: (id: string) => Promise<unknown>;
            activateOffice: (id: string) => Promise<unknown>;
            deactivateCompany: (id: string) => Promise<unknown>;
            deactivateDepartment: (id: string) => Promise<unknown>;
            deactivateJobTitle: (id: string) => Promise<unknown>;
            deactivateOffice: (id: string) => Promise<unknown>;
            deleteCompany: (id: string) => Promise<unknown>;
            deleteDepartment: (id: string) => Promise<unknown>;
            deleteJobTitle: (id: string) => Promise<unknown>;
            deleteOffice: (id: string) => Promise<unknown>;
        };
        updateProfile: (id: string, data: import("./users").UpdateProfileRequest) => Promise<unknown>;
        updateOrganization: (id: string, data: import("./users").UpdateOrganizationRequest) => Promise<unknown>;
        updateJobInfo: (id: string, data: import("./users").UpdateJobInfoRequest) => Promise<unknown>;
        updatePhones: (id: string, data: import("./users").UpdatePhonesRequest) => Promise<unknown>;
        updateAddress: (id: string, data: import("./users").UpdateAddressRequest) => Promise<unknown>;
        updateContact: (id: string, data: import("./users").UpdateContactRequest) => Promise<unknown>;
        getTenants: (id: string) => Promise<import("./crossCutting").UserTenantDto[]>;
        getGroups: (id: string) => Promise<import("./crossCutting").UserGroupDto[]>;
        getConsolidatedRoles: (id: string, tenantId?: string) => Promise<import("./crossCutting").UserConsolidatedRoleDto[]>;
        getApplicationAccess: (id: string, tenantId?: string) => Promise<import("./crossCutting").UserApplicationAccessDto[]>;
    };
    roles: {
        getAll: (params?: {
            search?: string;
            excludeCategories?: string;
            minPermissionsCount?: number;
        }) => Promise<import("./roles").RoleListDto[]>;
        getAssignable: () => Promise<import("./roles").RoleListDto[]>;
        getServiceAssignable: () => Promise<import("./roles").RoleListDto[]>;
        getByApplication: (applicationId: string) => Promise<import("./roles").RoleListDto[]>;
        getById: (id: string) => Promise<import("./roles").RoleDetailDto>;
        create: (data: import("./roles").CreateRoleRequest) => Promise<import("./roles").RoleDetailDto>;
        update: (id: string, data: import("./roles").UpdateRoleRequest) => Promise<import("./roles").RoleDetailDto>;
        delete: (id: string) => Promise<unknown>;
        assignUser: (roleId: string, userId: string) => Promise<unknown>;
        removeUser: (roleId: string, userId: string) => Promise<unknown>;
        getGroups: (roleId: string) => Promise<import("./roles").RoleGroupDto[]>;
        assignGroup: (roleId: string, groupId: string) => Promise<unknown>;
        removeGroup: (roleId: string, groupId: string) => Promise<unknown>;
        getTranslations: (roleId: string) => Promise<import("./roles").RoleTranslationDto[]>;
        upsertTranslation: (roleId: string, languageCode: string, data: import("./roles").UpdateRoleTranslationRequest) => Promise<import("./roles").RoleTranslationDto>;
        deleteTranslation: (roleId: string, languageCode: string) => Promise<unknown>;
    };
    permissions: {
        getAll: (params?: {
            search?: string;
            level?: string;
        }) => Promise<import("./roles").PermissionListDto[]>;
        getById: (id: string) => Promise<import("./roles").PermissionDetailDto>;
        getTree: () => Promise<import("./roles").PermissionTreeDto>;
        getMatrix: () => Promise<import("./roles").PermissionMatrixDto>;
        delete: (id: string) => Promise<unknown>;
    };
    applications: {
        getAll: (params?: {
            contextId?: string;
            isActive?: boolean;
        }) => Promise<import("./applications").ApplicationListDto[]>;
        getById: (id: string) => Promise<import("./applications").ApplicationDetailDto>;
        update: (id: string, data: import("./applications").UpdateApplicationRequest) => Promise<import("./applications").ApplicationDetailDto>;
        activate: (id: string) => Promise<unknown>;
        deactivate: (id: string) => Promise<unknown>;
        getModules: (appId: string) => Promise<import("./applications").ApplicationModuleDto[]>;
        updateModule: (appId: string, moduleId: string, data: import("./applications").UpdateModuleRequest) => Promise<import("./applications").ApplicationModuleDto>;
        getModuleSections: (appId: string, moduleId: string) => Promise<import("./applications").ModuleSectionDto[]>;
        reorderModules: (appId: string, items: import("./applications").ReorderItemDto[]) => Promise<unknown>;
        reorderSections: (appId: string, moduleId: string, items: import("./applications").ReorderItemDto[]) => Promise<unknown>;
        getTenants: (appId: string) => Promise<import("./applications").ApplicationTenantDto[]>;
        getAvailableTenants: (appId: string) => Promise<import("./applications").AvailableTenantsResponse>;
        assignToTenant: (appId: string, tenantId: string, accessLevel?: import("./applications").ApplicationAccessLevel) => Promise<import("./applications").ApplicationTenantDto>;
        removeFromTenant: (appId: string, tenantId: string) => Promise<unknown>;
        updateTenantAccessLevel: (appId: string, tenantId: string, accessLevel: import("./applications").ApplicationAccessLevel) => Promise<unknown>;
        bulkAssignTenants: (appId: string, request: import("./applications").BulkAssignTenantsRequest) => Promise<import("./applications").BulkAssignTenantsResponse>;
    };
    dashboard: {
        getOverview: (days?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserDashboardOverviewDto>;
        getByStatus: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserStatusCountDto[]>;
        getByRole: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserRoleDistributionDto[]>;
        getByType: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserTypeDistributionDto[]>;
        getLoginActivity: (days?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").LoginActivityStatsDto>;
        getTrends: (days?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").UserTrendDto[]>;
        getRecentUsers: (limit?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").RecentUserDto[]>;
        getSecurityAlerts: (threshold?: number, hours?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").SecurityAlertDto[]>;
        getActiveSessions: (config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").ActiveSessionsStatsDto>;
        getLatestActiveSessions: (limit?: number, config?: {
            signal?: AbortSignal;
        }) => Promise<import("./dashboard").LatestActiveSessionDto[]>;
    };
    settings: {
        getAll: () => Promise<import("./settings").SettingViewModel[]>;
        getByCategory: (category: string) => Promise<import("./settings").SettingViewModel[]>;
        get: (category: string, key: string) => Promise<import("./settings").SettingDto>;
        update: (category: string, key: string, value: string) => Promise<import("./settings").SettingDto>;
        reset: (category: string, key: string) => Promise<import("./settings").SettingDto>;
        getHistory: (category: string, key: string) => Promise<import("./settings").SettingHistoryDto[]>;
        getCategories: () => Promise<string[]>;
    };
    tenants: {
        getConfig: () => Promise<import("./tenants").MultitenantConfigResponse>;
        getAll: (params?: {
            page?: number;
            pageSize?: number;
            search?: string;
            status?: import("./tenants").TenantStatus;
            type?: import("./tenants").TenantType;
            sortBy?: string;
            sortDesc?: boolean;
            excludeTypes?: import("./tenants").TenantType[];
        }) => Promise<import("./_shared").PaginatedResult<import("./tenants").TenantListDto>>;
        getById: (id: string) => Promise<import("./tenants").TenantDetailDto>;
        createB2C: (data: import("./tenants").CreateTenantB2CRequest) => Promise<import("./tenants").TenantDetailDto>;
        createB2B: (data: import("./tenants").CreateTenantB2BRequest) => Promise<import("./tenants").TenantDetailDto>;
        update: (id: string, data: import("./tenants").UpdateTenantRequest) => Promise<import("./tenants").TenantDetailDto>;
        delete: (id: string) => Promise<unknown>;
        activate: (id: string) => Promise<unknown>;
        suspend: (id: string) => Promise<unknown>;
        archive: (id: string) => Promise<unknown>;
        checkSlugAvailable: (slug: string) => Promise<{
            available: boolean;
        }>;
        assignTemplate: (tenantId: string, templateId: string) => Promise<unknown>;
        removeTemplate: (tenantId: string) => Promise<unknown>;
        getMembers: (tenantId: string) => Promise<import("./tenants").TenantMemberDto[]>;
        getMember: (tenantId: string, memberId: string) => Promise<import("./tenants").TenantMemberDto>;
        addMember: (tenantId: string, data: import("./tenants").AddTenantMemberRequest) => Promise<import("./tenants").TenantMemberDto>;
        removeMember: (tenantId: string, userId: string) => Promise<unknown>;
        setMemberDefault: (tenantId: string, userId: string) => Promise<unknown>;
        transferOwnership: (tenantId: string, toUserId: string) => Promise<unknown>;
        assignRole: (tenantId: string, tenantUserId: string, roleId: string) => Promise<unknown>;
        removeRole: (tenantId: string, tenantUserId: string, roleId: string) => Promise<unknown>;
        assignMemberRoles: (tenantId: string, tenantUserId: string, roleIds: string[]) => Promise<unknown>;
        getMemberCustomRole: (tenantId: string, memberId: string) => Promise<import("./tenants").TenantMemberCustomRoleDto | null>;
        createMemberCustomRole: (tenantId: string, memberId: string) => Promise<import("./tenants").TenantMemberCustomRoleDto>;
        deleteMemberCustomRole: (tenantId: string, memberId: string) => Promise<unknown>;
        getTenantRoles: (tenantId: string) => Promise<import("./tenants").TenantRoleDto[]>;
        getGroups: (tenantId: string) => Promise<import("./tenants").TenantGroupDto[]>;
        getAvailableGroups: (tenantId: string) => Promise<import("./tenants").AvailableGroupDto[]>;
        addGroupToTenant: (tenantId: string, groupId: string) => Promise<unknown>;
        removeGroupFromTenant: (tenantId: string, groupId: string) => Promise<unknown>;
        getApplications: (tenantId: string) => Promise<import("./tenants").TenantApplicationDto[]>;
        getAvailableApplications: (tenantId: string) => Promise<import("./tenants").AvailableApplicationDto[]>;
        assignApplication: (tenantId: string, applicationId: string) => Promise<import("./tenants").TenantApplicationDto>;
        removeApplication: (tenantId: string, applicationId: string) => Promise<unknown>;
        bulkAssignApplications: (tenantId: string, request: import("./applications").BulkAssignAppsRequest) => Promise<import("./applications").BulkAssignAppsResponse>;
        toggleApplication: (tenantId: string, applicationId: string, isActive: boolean) => Promise<unknown>;
        updateApplicationAccessLevel: (tenantId: string, applicationId: string, accessLevel: import("./applications").ApplicationAccessLevel) => Promise<unknown>;
        getEffectiveTree: (tenantId: string, applicationId: string) => Promise<import("./tenants").EffectiveModuleNode[]>;
        saveOverrides: (tenantId: string, applicationId: string, request: import("./tenants").SaveOverridesRequest) => Promise<unknown>;
        getModules: (tenantId: string) => Promise<import("./tenants").TenantModuleDto[]>;
        getAvailableModules: (tenantId: string) => Promise<import("./tenants").AvailableModuleDto[]>;
        assignModule: (tenantId: string, moduleId: string) => Promise<import("./tenants").TenantModuleDto>;
        removeModule: (tenantId: string, moduleId: string) => Promise<unknown>;
        toggleModule: (tenantId: string, moduleId: string, isActive: boolean) => Promise<unknown>;
        getSections: (tenantId: string) => Promise<import("./tenants").TenantSectionDto[]>;
        getAvailableSections: (tenantId: string) => Promise<import("./tenants").AvailableSectionDto[]>;
        assignSection: (tenantId: string, sectionId: string) => Promise<import("./tenants").TenantSectionDto>;
        removeSection: (tenantId: string, sectionId: string) => Promise<unknown>;
        toggleSection: (tenantId: string, sectionId: string, isActive: boolean) => Promise<unknown>;
        getModulesWithSections: (tenantId: string, applicationId: string) => Promise<import("./tenants").ModuleWithSectionsDto[]>;
        linkOrganisation: (tenantId: string, organisationId: string) => Promise<unknown>;
        unlinkOrganisation: (tenantId: string) => Promise<unknown>;
    };
    templates: {
        getAll: () => Promise<import("./tenants").TenantTemplateDto[]>;
        getById: (id: string) => Promise<import("./tenants").TenantTemplateDetailDto>;
        create: (data: import("./tenants").CreateTenantTemplateRequest) => Promise<import("./tenants").TenantTemplateDto>;
        update: (id: string, data: import("./tenants").UpdateTenantTemplateRequest) => Promise<import("./tenants").TenantTemplateDto>;
        delete: (id: string) => Promise<unknown>;
        assignApplication: (templateId: string, appId: string) => Promise<unknown>;
        removeApplication: (templateId: string, appId: string) => Promise<unknown>;
        bulkAssignApplications: (templateId: string, request: import("./tenants").BulkAssignTemplateAppsRequest) => Promise<unknown>;
        getTenants: (templateId: string) => Promise<import("./tenants").TenantBasicDto[]>;
        getApplications: (templateId: string) => Promise<import("./tenants").TemplateApplicationEnrichedDto[]>;
        getAvailableApplications: (templateId: string) => Promise<import("./tenants").AvailableApplicationDto[]>;
        updateApplicationAccessLevel: (templateId: string, appId: string, accessLevel: import("./applications").ApplicationAccessLevel) => Promise<unknown>;
        getApplicationModules: (templateId: string, appId: string) => Promise<import("./tenants").TemplateAppModuleTreeDto[]>;
        updateApplicationModules: (templateId: string, appId: string, request: import("./tenants").UpdateTemplateAppModulesRequest) => Promise<unknown>;
        getAiInstances: (templateId: string) => Promise<import("./tenants").TemplateAiInstanceDto[]>;
        assignAiInstance: (templateId: string, instanceId: string) => Promise<unknown>;
        removeAiInstance: (templateId: string, instanceId: string) => Promise<unknown>;
    };
    organisations: {
        getAll: (params?: {
            page?: number;
            pageSize?: number;
            search?: string;
            countryCode?: string;
            verificationStatus?: import("./tenants").VerificationStatus;
            sortBy?: string;
            sortDesc?: boolean;
        }) => Promise<import("./_shared").PaginatedResult<import("./tenants").OrganisationListItemDto>>;
        getAvailable: (search?: string) => Promise<import("./tenants").OrganisationListItemDto[]>;
        getPendingVerification: () => Promise<import("./tenants").OrganisationListItemDto[]>;
        getById: (id: string) => Promise<import("./tenants").OrganisationDto>;
        findById: (id: string) => Promise<import("./tenants").OrganisationDto | null>;
        create: (data: import("./tenants").CreateOrganisationRequest) => Promise<import("./tenants").OrganisationDto>;
        updateContact: (id: string, data: {
            phone?: string;
            email?: string;
            website?: string;
        }) => Promise<import("./tenants").OrganisationDto>;
        updateAddress: (id: string, data: import("./tenants").CreateAddressRequest) => Promise<import("./tenants").OrganisationDto>;
        verify: (id: string, notes?: string) => Promise<import("./tenants").OrganisationDto>;
        reject: (id: string, reason: string) => Promise<import("./tenants").OrganisationDto>;
        lookup: (countryCode: string, identifier: string) => Promise<import("./tenants").CompanyLookupResponse>;
    };
    myTenants: {
        getAll: (search?: string) => Promise<import("./crossCutting").UserTenantDto[]>;
        getDefault: () => Promise<import("./crossCutting").UserTenantDto | null>;
        setDefault: (tenantId: string) => Promise<unknown>;
        clearDefault: () => Promise<unknown>;
        getFavorites: () => Promise<string[]>;
        addFavorite: (tenantId: string) => Promise<string[]>;
        removeFavorite: (tenantId: string) => Promise<string[]>;
        recordRecent: (tenantId: string) => Promise<unknown>;
    };
    preferences: {
        get: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
        getGlobal: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
        getForTenant: (tenantId: string) => Promise<import("./settings").UserPreferencesWithScopeDto>;
        getThemeOverrides: () => Promise<string[]>;
        deleteTenantOverride: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
        applyToTenant: () => Promise<import("./settings").UserPreferencesWithScopeDto>;
    };
    externalApps: {
        getAll: (params?: {
            search?: string;
            isActive?: boolean;
        }) => Promise<import("./externalApps").ExternalApplicationDto[]>;
        getById: (id: string) => Promise<import("./externalApps").ExternalApplicationDetailDto>;
        create: (data: import("./externalApps").CreateExternalApplicationRequest) => Promise<import("./externalApps").ExternalApplicationCreatedDto>;
        update: (id: string, data: import("./externalApps").UpdateExternalApplicationRequest) => Promise<import("./externalApps").ExternalApplicationDetailDto>;
        delete: (id: string) => Promise<unknown>;
        activate: (id: string) => Promise<unknown>;
        deactivate: (id: string) => Promise<unknown>;
        rotateSecret: (id: string, keySlot?: "Primary" | "Secondary") => Promise<import("./externalApps").RotateSecretResponse>;
        revokeSecondarySecret: (id: string) => Promise<unknown>;
        assignRole: (id: string, data: import("./externalApps").AssignRoleToExternalAppRequest) => Promise<unknown>;
        removeRole: (id: string, roleId: string, tenantId?: string) => Promise<unknown>;
        generateSecret: () => Promise<import("./externalApps").GeneratedSecretDto>;
        getAuditLogs: (id: string, page?: number, pageSize?: number) => Promise<import("./_shared").PaginatedResult<import("./externalApps").ExternalAppAuditLogDto>>;
        getUsageStats: (id: string, days?: number) => Promise<import("./externalApps").ExternalAppUsageStatsDto>;
        getKeyUsage: (id: string) => Promise<import("./externalApps").KeyUsageStatsDto>;
        getApiEndpoints: () => Promise<import("./externalApps").DataApiEndpointDto[]>;
        getAppApiAccess: (appId: string) => Promise<import("./externalApps").ApiAccessDto[]>;
        updateApiAccess: (appId: string, endpointId: string, data: import("./externalApps").UpdateApiAccessRequest) => Promise<import("./externalApps").ApiAccessDto>;
        removeApiAccess: (appId: string, endpointId: string) => Promise<unknown>;
    };
    apiCatalog: {
        getNavigationLookup: () => Promise<import("./externalApps").ApplicationLookupDto[]>;
    };
};
export { createAdminApi };
//# sourceMappingURL=index.d.ts.map