import { AuthenticationRole, SystemRole } from "../authentication-role";
export type NamedRolesConfig = Record<Exclude<AuthenticationRole, SystemRole>, string>;
export type AlternativeRoleNamesConfig = Partial<Record<AuthenticationRole, string[]>>;
export interface AuthenticationRoleConfig {
    namedRoles: NamedRolesConfig;
    alternativeRoleNames: AlternativeRoleNamesConfig;
    roles: AuthenticationRole[];
}
export declare const DEFAULT_NAMED_ROLES: NamedRolesConfig;
export declare const DEFAULT_ALTERNATIVE_ROLE_NAMES: AlternativeRoleNamesConfig;
export declare function getAuthenticationRoleConfig(): AuthenticationRoleConfig;
export declare function isAuthenticationRole(key: string): key is AuthenticationRole;
export declare function getAuthenticationRole(name: string, config?: AuthenticationRoleConfig): AuthenticationRole | undefined;
export declare function getAuthenticationRoles(names: string[]): AuthenticationRole[];
