import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; /** * @since 1.0.0 * @category type ids */ export declare const TypeId: unique symbol; /** * @since 1.0.0 * @category type ids */ export type TypeId = typeof TypeId; /** * Wrapper on the Permission API (`navigator.permissions`) * with methods for querying status of permissions. * * @since 1.0.0 * @category interface */ export interface Permissions { readonly [TypeId]: TypeId; /** * Returns the state of a user permission on the global scope. */ readonly query: (name: Name) => Effect.Effect & { name: Name; }, PermissionsError>; } /** * @since 1.0.0 * @category type ids */ export declare const ErrorTypeId: unique symbol; /** * @since 1.0.0 * @category type ids */ export type ErrorTypeId = typeof ErrorTypeId; declare const PermissionsError_base: new >(args: import("effect/Types").Simplify) => import("effect/Cause").YieldableError & Record & { readonly _tag: "PermissionsError"; } & Readonly; /** * @since 1.0.0 * @category errors */ export declare class PermissionsError extends PermissionsError_base<{ /** https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query#exceptions */ readonly reason: "InvalidStateError" | "TypeError"; readonly cause: unknown; }> { get message(): "InvalidStateError" | "TypeError"; } /** * @since 1.0.0 * @category tags */ export declare const Permissions: Context.Tag; /** * A layer that directly interfaces with the `navigator.permissions` api * * @since 1.0.0 * @category layers */ export declare const layer: Layer.Layer; export {}; //# sourceMappingURL=Permissions.d.ts.map