import Database from 'better-sqlite3'; import { Party, PartyMember, PartyWithMembers, PartyStatus } from '../../schema/party.js'; export declare class PartyRepository { private db; constructor(db: Database.Database); create(party: Party): Party; findById(id: string): Party | null; findAll(filters?: { status?: PartyStatus; worldId?: string; }): Party[]; update(id: string, updates: Partial): Party | null; delete(id: string): boolean; addMember(member: PartyMember): PartyMember; removeMember(partyId: string, characterId: string): boolean; updateMember(partyId: string, characterId: string, updates: Partial): PartyMember | null; findMember(partyId: string, characterId: string): PartyMember | null; findMembersByParty(partyId: string): PartyMember[]; findPartiesByCharacter(characterId: string): Party[]; setLeader(partyId: string, characterId: string): boolean; setActiveCharacter(partyId: string, characterId: string): boolean; getPartyWithMembers(partyId: string): PartyWithMembers | null; getUnassignedCharacters(excludeTypes?: string[]): { id: string; name: string; level: number; characterType: string | null; race: string | null; class: string | null; }[]; touchParty(partyId: string): void; updatePartyPosition(partyId: string, x: number, y: number, locationName: string, poiId?: string): Party | null; getPartyPosition(partyId: string): { x: number; y: number; locationName: string; poiId?: string; } | null; getPartiesWithPositions(worldId: string): Array; getPartiesNearPosition(worldId: string, x: number, y: number, radiusSquares?: number): Party[]; private rowToParty; private rowToMember; } //# sourceMappingURL=party.repo.d.ts.map