export { TeamRenderer } from './TeamRenderer';
export { TeamService } from './TeamService';
export { TeamStore } from './TeamStore';
export type { ITeam } from '../../types/CalendarTypes';

// DI registration helper
import type { Builder } from '@novadi/core';
import { IRenderer } from '../../core/IGroupingRenderer';
import { IStore } from '../../storage/IStore';
import { IEntityService } from '../../storage/IEntityService';
import type { ITeam, ISync } from '../../types/CalendarTypes';
import { TeamStore } from './TeamStore';
import { TeamService } from './TeamService';
import { TeamRenderer } from './TeamRenderer';

export function registerTeams(builder: Builder): void {
  builder.registerType(TeamStore).as<IStore>();
  builder.registerType(TeamService).as<IEntityService<ITeam>>();
  builder.registerType(TeamService).as<IEntityService<ISync>>();
  builder.registerType(TeamService).as<TeamService>();
  builder.registerType(TeamRenderer).as<IRenderer>();
}
