import { Role } from '../core/types';
type PermissionMap = {
    [key in Role]: Permission[];
};
/**
 * A contextual repurposing of API.stream roles
 * https://www.api.stream/docs/api/auth/#permission-roles
 */
export declare enum Permission {
    ReadProject = 0,// LiveAPI / LayoutAPI Read
    UpdateProject = 1,// LiveAPI / LayoutAPI Write
    JoinRoom = 2,// Join WebRTC
    InviteGuests = 3,// Invite Guests
    ManageGuests = 4,// (Non-API.stream?) Kick / rename guests
    ManageBroadcast = 5,// Manage Broadcast
    ManageSelf = 6
}
export declare const permissions: PermissionMap;
/**
 * It returns true if the role has the permission, otherwise it returns false
 * @param {Role} role - The role of the user.
 * @param {Permission} permission - The permission we want to check for.
 * @returns A function that takes in a role and permission and returns a boolean
 */
export declare const hasPermission: (role: Role, permission: Permission) => boolean;
export {};
