import type { Permission, TeamRole } from './types';
/**
* Hook to check a single permission in the current team
*
* @param permission - Permission ID to check (e.g., "customers.create")
* @returns true if the current user has the permission in the current team
*
* @example
* ```tsx
* const canCreate = usePermission('customers.create')
*
* return canCreate ? : null
* ```
*/
export declare function usePermission(permission: Permission): boolean;
/**
* Hook to check multiple permissions
*
* @param permissions - Object mapping keys to permission IDs
* @returns Object with same keys, values are boolean (has permission or not)
*
* @example
* ```tsx
* const { canCreate, canDelete } = usePermissions({
* canCreate: 'customers.create',
* canDelete: 'customers.delete',
* })
*
* return (
* <>
* {canCreate && }
* {canDelete && }
* >
* )
* ```
*/
export declare function usePermissions>(permissions: T): Record;
/**
* Hook to get all permissions of the current user in the current team
*
* @returns Array of permission IDs the user has
*
* @example
* ```tsx
* const permissions = useAllPermissions()
* console.log('User has', permissions.length, 'permissions')
* ```
*/
export declare function useAllPermissions(): Permission[];
/**
* Hook to get the current user's team role
*
* @returns Team role (owner, admin, member, viewer) or null if no team
*
* @example
* ```tsx
* const role = useTeamRole()
* return {role}
* ```
*/
export declare function useTeamRole(): TeamRole | null;
//# sourceMappingURL=hooks.d.ts.map