/**
 * Role management hooks
 */
import type { RoleFilters, CreateRoleRequest, UpdateRoleRequest } from '../types';
export declare const roleKeys: {
    all: readonly ["roles"];
    lists: () => readonly ["roles", "list"];
    list: (filters: RoleFilters) => readonly ["roles", "list", RoleFilters];
    details: () => readonly ["roles", "detail"];
    detail: (id: string) => readonly ["roles", "detail", string];
    permissions: (id: string) => readonly ["roles", "permissions", string];
    users: (id: string) => readonly ["roles", "users", string];
};
/**
 * Hook to fetch roles list
 */
export declare function useRoles(filters?: RoleFilters): import("@tanstack/react-query").UseQueryResult<import("..").RoleListResponse, Error>;
/**
 * Hook to fetch single role
 */
export declare function useRole(id: string): import("@tanstack/react-query").UseQueryResult<import("..").Role, Error>;
/**
 * Hook to create role
 */
export declare function useCreateRole(): import("@tanstack/react-query").UseMutationResult<import("..").Role, Error, CreateRoleRequest, unknown>;
/**
 * Hook to update role
 */
export declare function useUpdateRole(): import("@tanstack/react-query").UseMutationResult<import("..").Role, Error, UpdateRoleRequest, unknown>;
/**
 * Hook to delete role
 */
export declare function useDeleteRole(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
 * Hook to get role permissions
 */
export declare function useRolePermissions(roleId: string): import("@tanstack/react-query").UseQueryResult<string[], Error>;
/**
 * Hook to grant permission to role
 */
export declare function useGrantRolePermission(): import("@tanstack/react-query").UseMutationResult<void, Error, {
    roleId: string;
    permissionName: string;
}, unknown>;
/**
 * Hook to revoke permission from role
 */
export declare function useRevokeRolePermission(): import("@tanstack/react-query").UseMutationResult<void, Error, {
    roleId: string;
    permissionName: string;
}, unknown>;
/**
 * Hook to set role permissions (replace all)
 */
export declare function useSetRolePermissions(): import("@tanstack/react-query").UseMutationResult<void, Error, {
    roleId: string;
    permissionNames: string[];
}, unknown>;
/**
 * Hook to get users in role
 */
export declare function useRoleUsers(roleId: string): import("@tanstack/react-query").UseQueryResult<string[], Error>;
//# sourceMappingURL=use-roles.d.ts.map