import { default as Keycloak } from 'keycloak-js'; import { KeycloakRolesConfig } from './keycloak-config.js'; export declare function createRealmRoleChecker(kc: Keycloak | undefined, roles: T): { hasRealmRole(role: T[number]): boolean; roles: T; }; export declare function createClientRoleChecker(kc: Keycloak | undefined, clientId: C, roles: T): { hasClientRole(role: T[number]): boolean; clientId: C; roles: T; }; type RealmRoleName = C["roles"] extends readonly (infer R extends string)[] ? R : never; type ClientRolesOf = NonNullable; type ClientIdOf = keyof ClientRolesOf & string; type ClientRoleName> = ClientRolesOf[Id] extends readonly (infer R extends string)[] ? R : never; export declare function createRoleCheckerFromConfig(kc: Keycloak | undefined, config: C): { config: C; hasRealmRole(role: RealmRoleName): boolean; hasClientRole>(clientId: Id, role: ClientRoleName): boolean; clientRoleChecker>(clientId: Id): { hasClientRole(role: string): boolean; clientId: Id; roles: readonly string[]; }; }; export {}; //# sourceMappingURL=create-role-checker.d.ts.map