import { TeamsApiResponse, TeamsQueryParams, TeamsQueryResult, Team } from '../types/team.types';
import { AdvancedFilterConfig } from '../../types/filter';
/**
 * Obtiene la lista de equipos desde Strapi
 * Retorna los datos en formato crudo de Strapi
 */
export declare function fetchTeamsRaw(params?: TeamsQueryParams): Promise<TeamsApiResponse>;
/**
 * Obtiene la lista de equipos normalizada
 * Transforma los datos de Strapi a formato plano
 */
export declare function fetchTeams(params?: TeamsQueryParams): Promise<TeamsQueryResult>;
/**
 * Obtiene equipos usando filtros del formato AdvancedFilterConfig
 * (El formato que usa el FilterPopup de la tabla)
 */
export declare function fetchTeamsWithAdvancedFilters(advancedFilters: AdvancedFilterConfig[], params?: Omit<TeamsQueryParams, 'filters'>): Promise<TeamsQueryResult>;
/**
 * Datos para actualizar un equipo
 */
export interface UpdateTeamData {
    nombre?: string;
    color?: string;
}
/**
 * Actualiza un equipo en Strapi
 * @param id - ID del equipo
 * @param data - Datos a actualizar
 */
export declare function updateTeam(id: number, data: UpdateTeamData): Promise<Team>;
/**
 * Actualiza el nombre de un equipo
 * @param id - ID del equipo
 * @param nombre - Nuevo nombre
 */
export declare function updateTeamName(id: number, nombre: string): Promise<Team>;
/**
 * Key factory para las queries de equipos
 * Útil para invalidación y gestión de cache
 */
export declare const teamsQueryKeys: {
    all: readonly ["teams"];
    lists: () => readonly ["teams", "list"];
    list: (params?: TeamsQueryParams) => readonly ["teams", "list", TeamsQueryParams | undefined];
    details: () => readonly ["teams", "detail"];
    detail: (id: number) => readonly ["teams", "detail", number];
};
//# sourceMappingURL=teams.api.d.ts.map