import '../node-crypto-polyfill.js'; import type { AuthDetails } from '../web-server/types'; import type { PageRouteDetails } from '../plugins/types'; import type { RbacConfig, RbacScopeItems, SsoConfig } from '../config/schema'; import type { ContentProvider } from '../content/content-provider'; export declare function getAllowedTeamsForRoute(rbacConfig: RbacConfig | undefined, resource: Pick | undefined): RbacScopeItems; export declare function canAccessResource(resource: any, user?: { email?: string; teams?: string[]; }): boolean; export declare function canDownloadApiDefinition(pathname: string, rbacConfig: RbacConfig, user?: { email?: string; teams?: string[]; }): boolean; export declare function canAccessAsset(pathname: string, rbacConfig: RbacConfig, directoryPaths: Record, user?: { email?: string; teams?: string[]; }): boolean; export declare function getAuthDetailsFromCookies(ssoConfig: SsoConfig, cookies?: string): Promise; /** * Maps the input deep and removes objects that have a 'permission' prop * but do not match the input permissions list * @param input can be object, array, string or any other value * @param permissions * @returns */ export declare function filterDataByAccessDeep(input: any, user?: { email?: string; teams?: string[]; }): any; export declare function parseTeamClaimToArray(claimValue: unknown): string[]; /** * Extends RBAC config rules to include all supported languages * */ export declare function applyI18nToRbacConfig(contentProvider: ContentProvider, rbacConfig: RbacConfig | undefined): RbacConfig | undefined; export declare function resolveDirectoryHashes(contentProvider: ContentProvider, rbacConfig: RbacConfig | undefined): Record; export declare const checkIfRbacConfigIsNewFormat: (rbacConfig: unknown) => boolean; export declare const parseRbacConfigToNewFormat: (rbacConfig: RbacConfig | undefined) => RbacConfig | undefined; //# sourceMappingURL=rbac.d.ts.map