import { CallSettingsResponse, OwnCapability } from '../gen/coordinator'; import { TrackType } from '../gen/video/sfu/models/models'; /** * Stores the permissions for the current user and exposes * a few helper methods which make it easier to work with permissions. * * This is an internal class meant to be used in combination with * a {@link Call} instance. * * @internal */ export declare class PermissionsContext { private permissions; private settings?; /** * Sets the permissions for the current user. * * @param permissions the permissions to set. */ setPermissions: (permissions: OwnCapability[]) => void; /** * Sets the settings for the bound call. * @param settings */ setCallSettings: (settings: CallSettingsResponse) => void; /** * Checks if the current user has a specific permission. * * @param permission the permission to check for. */ hasPermission: (permission: OwnCapability) => boolean; /** * Helper method that checks whether the current user has the permission * to publish the given track type. */ canPublish: (trackType: TrackType) => boolean; /** * Checks if the current user can request a specific permission * within the call. * * @param permission the permission to check for. * @param settings the call settings to check against (optional). */ canRequest: (permission: OwnCapability, settings?: CallSettingsResponse | undefined) => boolean; }