import { PermissionResponse } from './PermissionsInterface'; type RequestPermissionMethod = () => Promise; type GetPermissionMethod = () => Promise; type PermissionHookMethods = { /** The permission method that requests the user to grant permission. */ requestMethod: (options?: Options) => Promise; /** The permission method that only fetches the current permission status. */ getMethod: (options?: Options) => Promise; }; type PermissionHookBehavior = { /** If the hook should automatically fetch the current permission status, without asking the user. */ get?: boolean; /** If the hook should automatically request the user to grant permission. */ request?: boolean; }; export type PermissionHookOptions = PermissionHookBehavior & Options; /** * Create a new permission hook with the permission methods built-in. * This can be used to quickly create specific permission hooks in every module. */ export declare function createPermissionHook(methods: PermissionHookMethods): (options?: PermissionHookOptions) => [Permission | null, RequestPermissionMethod, GetPermissionMethod]; export {}; //# sourceMappingURL=PermissionsHook.d.ts.map