import { Repository } from 'typeorm';
import { Invitation } from './invitation.entity';
import { BrandTeam } from './brand-team.entity';
import { User } from '../users/user.entity';
import { ManagerProfile } from '../managers/manager-profile.entity';
import { NotificationsService } from '../notifications/notifications.service';
export declare class InvitationsService {
    private invRepo;
    private teamRepo;
    private userRepo;
    private managerRepo;
    private notifications;
    constructor(invRepo: Repository<Invitation>, teamRepo: Repository<BrandTeam>, userRepo: Repository<User>, managerRepo: Repository<ManagerProfile>, notifications: NotificationsService);
    autoAssignManagerToBrand(brandUserId: string): Promise<void>;
    sendInvitation(senderId: string, body: any): Promise<Invitation>;
    findOne(userId: string, invId: string): Promise<Invitation>;
    getReceived(userId: string): Promise<Invitation[]>;
    getSent(userId: string): Promise<Invitation[]>;
    accept(userId: string, invId: string): Promise<BrandTeam>;
    decline(userId: string, invId: string): Promise<void>;
    cancel(userId: string, invId: string): Promise<void>;
    approvePayment(brandId: string, invId: string): Promise<Invitation>;
    checkStatus(senderId: string, receiverId: string): Promise<{
        status: string | null;
    }>;
    getPendingApprovals(brandId: string): Promise<Invitation[]>;
    getMyTeam(brandId: string): Promise<BrandTeam[]>;
    updatePermissions(brandId: string, teamId: string, permissions: any): Promise<BrandTeam>;
    updatePaymentTerms(brandId: string, teamId: string, terms: any): Promise<BrandTeam>;
    removeMember(brandId: string, teamId: string, reason?: string): Promise<void>;
    negotiateInvitation(userId: string, invId: string, terms: any): Promise<Invitation>;
}
