<Type Name="Permissions+BasePermission" FullName="Xamarin.Essentials.Permissions+BasePermission">
  <TypeSignature Language="C#" Value="public abstract class Permissions.BasePermission" />
  <TypeSignature Language="ILAsm" Value=".class nested public auto ansi abstract beforefieldinit Permissions/BasePermission extends System.Object" />
  <TypeSignature Language="DocId" Value="T:Xamarin.Essentials.Permissions.BasePermission" />
  <AssemblyInfo>
    <AssemblyName>Xamarin.Essentials</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>Base permission, used internally.</summary>
    <remarks>To be added.</remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public BasePermission ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberSignature Language="DocId" Value="M:Xamarin.Essentials.Permissions.BasePermission.#ctor" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyName>Xamarin.Essentials</AssemblyName>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <summary>public constructor for the base permission.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CheckStatusAsync">
      <MemberSignature Language="C#" Value="public abstract System.Threading.Tasks.Task&lt;Xamarin.Essentials.PermissionStatus&gt; CheckStatusAsync ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Threading.Tasks.Task`1&lt;valuetype Xamarin.Essentials.PermissionStatus&gt; CheckStatusAsync() cil managed" />
      <MemberSignature Language="DocId" Value="M:Xamarin.Essentials.Permissions.BasePermission.CheckStatusAsync" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyName>Xamarin.Essentials</AssemblyName>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;Xamarin.Essentials.PermissionStatus&gt;</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Checks the status of a specific permission.</para>
        </summary>
        <returns>The current status of the permission.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="EnsureDeclared">
      <MemberSignature Language="C#" Value="public abstract void EnsureDeclared ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EnsureDeclared() cil managed" />
      <MemberSignature Language="DocId" Value="M:Xamarin.Essentials.Permissions.BasePermission.EnsureDeclared" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyName>Xamarin.Essentials</AssemblyName>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Ensures that all permissions are decalred.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="RequestAsync">
      <MemberSignature Language="C#" Value="public abstract System.Threading.Tasks.Task&lt;Xamarin.Essentials.PermissionStatus&gt; RequestAsync ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Threading.Tasks.Task`1&lt;valuetype Xamarin.Essentials.PermissionStatus&gt; RequestAsync() cil managed" />
      <MemberSignature Language="DocId" Value="M:Xamarin.Essentials.Permissions.BasePermission.RequestAsync" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyName>Xamarin.Essentials</AssemblyName>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;Xamarin.Essentials.PermissionStatus&gt;</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Request a specific permission from the user.</para>
        </summary>
        <returns>The status of the permission that was requested.</returns>
        <remarks>The request will be prompted to the user if it hasn't been granted. iOS only allows the permission to be requested once, any additional requests will return immediatelly.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ShouldShowRationale">
      <MemberSignature Language="C#" Value="public abstract bool ShouldShowRationale ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ShouldShowRationale() cil managed" />
      <MemberSignature Language="DocId" Value="M:Xamarin.Essentials.Permissions.BasePermission.ShouldShowRationale" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyName>Xamarin.Essentials</AssemblyName>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets whether you should show UI with rationale for requesting a permission.</summary>
        <returns>A boolean if the user has declined the permission in the past and UI should be shown.</returns>
        <remarks>Only relevant on Android after a user had denied a permission one time.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
