> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # SelfCapabilities > SelfCapabilities manages the capability state for the self participant. SelfCapabilities manages the capability state for the self participant. Capabilities are received from the server via `call.joined` events and determine what actions the current participant is allowed to perform. Each capability is exposed as both: * An observable (e.g., `end$`) for reactive state management * A synchronous getter (e.g., `end`) for immediate access Member-level capabilities are accessed via the grouped `self` / `member` accessors: * `capabilities.self.muteAudio` (sync) * `capabilities.self$` (observable) When a new `call.joined` event is received, the capabilities state is completely replaced (not merged). > **Info** > > Each capability is exposed in **both forms** on every page below — an > observable (e.g. `end$`) for reactive UI binding, and a synchronous > getter (e.g. `end`) for one-shot reads. The accessor cards below list > the observable; click through for both signatures plus an example. ## **Extends** * `Destroyable` ## **Constructors** ### Constructor ```ts new SelfCapabilities(): SelfCapabilities ``` #### Returns `SelfCapabilities` #### Inherited from `Destroyable.constructor` ## **Accessors** #### [destroyed\$](/docs/browser-sdk/v4/reference/self-capabilities/destroyed\$) Observable that emits when the instance is destroyed #### [device\$](/docs/browser-sdk/v4/reference/self-capabilities/device\$) Observable for device capability #### [end\$](/docs/browser-sdk/v4/reference/self-capabilities/end\$) Observable for end call capability #### [lock\$](/docs/browser-sdk/v4/reference/self-capabilities/lock\$) Observable for lock capability #### [member\$](/docs/browser-sdk/v4/reference/self-capabilities/member\$) Observable for other member capabilities #### [screenshare\$](/docs/browser-sdk/v4/reference/self-capabilities/screenshare\$) Observable for screenshare capability #### [self\$](/docs/browser-sdk/v4/reference/self-capabilities/self\$) Observable for self member capabilities #### [sendDigit\$](/docs/browser-sdk/v4/reference/self-capabilities/send-digit\$) Observable for send digit capability #### [setLayout\$](/docs/browser-sdk/v4/reference/self-capabilities/set-layout\$) Observable for set layout capability #### [state\$](/docs/browser-sdk/v4/reference/self-capabilities/state\$) Observable for the full capabilities state #### [vmutedHide\$](/docs/browser-sdk/v4/reference/self-capabilities/vmuted-hide\$) Observable for vmuted hide capability ## **Methods** #### [destroy](/docs/browser-sdk/v4/reference/self-capabilities/destroy) Cleans up subscriptions and subjects owned by this instance. > SelfCapabilities manages the capability state for the self participant. ## Docs - [destroy](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/destroy.md): Destroys the instance, clearing timers and releasing all subscriptions. - [destroyed$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/destroyed$.md): Observable that emits when the instance is destroyed - [device$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/device$.md): Observable for device capability - [end$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/end$.md): Observable for end call capability - [lock$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/lock$.md): Observable for lock capability - [member$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/member$.md): Observable for other member capabilities - [screenshare$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/screenshare$.md): Observable for screenshare capability - [self$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/self$.md): Observable for self member capabilities - [sendDigit$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/send-digit$.md): Observable for send digit capability - [setLayout$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/set-layout$.md): Observable for set layout capability - [state$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/state$.md): Observable for the full capabilities state - [vmutedHide$](https://signalwire.com/docs/browser-sdk/reference/self-capabilities/vmuted-hide$.md): Observable for vmuted hide capability