import type { Team, CreateTeamRequest } from '../../lib/teams/types';
/**
 * Hook for managing current user's teams
 *
 * Fetches teams the user belongs to and provides team creation.
 * For admin access to ALL teams, use useAdminTeams instead.
 *
 * @example
 * ```tsx
 * function TeamSwitcher() {
 *   const { teams, isLoading, createTeam } = useUserTeams()
 *
 *   if (isLoading) return <Spinner />
 *
 *   return (
 *     <Select>
 *       {teams.map(team => (
 *         <SelectItem key={team.id}>{team.name}</SelectItem>
 *       ))}
 *     </Select>
 *   )
 * }
 * ```
 */
export declare function useUserTeams(): {
    /** User's teams */
    teams: Team[];
    /** Loading state */
    isLoading: boolean;
    /** Error if any */
    error: Error;
    /** Refetch teams */
    refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Team[], Error>>;
    /** Create a new team */
    createTeam: import("@tanstack/react-query").UseMutateFunction<Team, Error, CreateTeamRequest, unknown>;
    /** Create a new team (async) */
    createTeamAsync: import("@tanstack/react-query").UseMutateAsyncFunction<Team, Error, CreateTeamRequest, unknown>;
    /** Team creation in progress */
    isCreating: boolean;
    /** Team creation error */
    createError: Error;
};
export type UseUserTeamsReturn = ReturnType<typeof useUserTeams>;
//# sourceMappingURL=useUserTeams.d.ts.map