import { Repository } from 'typeorm';
import { Settlement } from '../../database/entities/settlement.entity';
import { User } from '../../database/entities/user.entity';
import { GroupMember } from '../../database/entities/group-member.entity';
import { ActivityService } from '../activity/activity.service';
import { NotificationsService } from '../notifications/notifications.service';
import { CreateSettlementDto } from './dto/create-settlement.dto';
import { SettlementQueryDto } from './dto/settlement-query.dto';
import { SettlementDto, PaginatedSettlementsDto } from './dto/settlement-response.dto';
export declare class SettlementsService {
    private readonly settlementRepo;
    private readonly userRepo;
    private readonly groupMemberRepo;
    private readonly activityService;
    private readonly notificationsService;
    constructor(settlementRepo: Repository<Settlement>, userRepo: Repository<User>, groupMemberRepo: Repository<GroupMember>, activityService: ActivityService, notificationsService: NotificationsService);
    createSettlement(payerId: string, dto: CreateSettlementDto): Promise<SettlementDto>;
    listMySettlements(userId: string, query: SettlementQueryDto): Promise<PaginatedSettlementsDto>;
    listGroupSettlements(groupId: string, query: SettlementQueryDto): Promise<PaginatedSettlementsDto>;
    getSettlement(id: string, userId: string): Promise<SettlementDto>;
    confirmSettlement(id: string, userId: string): Promise<SettlementDto>;
    private assertGroupMember;
    private paginate;
    private paginateQuery;
    private buildPaginatedResult;
    private toDto;
}
