import { SessionService } from '../session/session.service';
declare class CreateGroupDto {
    name: string;
    participants: string[];
}
declare class ParticipantsDto {
    participants: string[];
}
declare class GroupSubjectDto {
    subject: string;
}
declare class GroupDescriptionDto {
    description: string;
}
export declare class GroupController {
    private readonly sessionService;
    constructor(sessionService: SessionService);
    findAll(sessionId: string): Promise<import("../../engine/interfaces/whatsapp-engine.interface").Group[]>;
    findOne(sessionId: string, groupId: string): Promise<import("../../engine/interfaces/whatsapp-engine.interface").GroupInfo>;
    create(sessionId: string, dto: CreateGroupDto): Promise<import("../../engine/interfaces/whatsapp-engine.interface").Group>;
    addParticipants(sessionId: string, groupId: string, dto: ParticipantsDto): Promise<{
        success: boolean;
        message: string;
    }>;
    removeParticipants(sessionId: string, groupId: string, dto: ParticipantsDto): Promise<{
        success: boolean;
        message: string;
    }>;
    promoteParticipants(sessionId: string, groupId: string, dto: ParticipantsDto): Promise<{
        success: boolean;
        message: string;
    }>;
    demoteParticipants(sessionId: string, groupId: string, dto: ParticipantsDto): Promise<{
        success: boolean;
        message: string;
    }>;
    setSubject(sessionId: string, groupId: string, dto: GroupSubjectDto): Promise<{
        success: boolean;
        message: string;
    }>;
    setDescription(sessionId: string, groupId: string, dto: GroupDescriptionDto): Promise<{
        success: boolean;
        message: string;
    }>;
    leave(sessionId: string, groupId: string): Promise<{
        success: boolean;
        message: string;
    }>;
    getInviteCode(sessionId: string, groupId: string): Promise<{
        inviteCode: string;
        inviteLink: string;
    }>;
    revokeInviteCode(sessionId: string, groupId: string): Promise<{
        inviteCode: string;
        inviteLink: string;
        message: string;
    }>;
    private getEngine;
}
export {};
