import RequestWithUser from '../common/interfaces/requestWithUser.interface';
import { UsersService } from './users.service';
import { AuthService } from 'src/auth/auth.service';
import { UpdateUserDto } from './dto/update-user.dto';
import { JoinGroupDto } from './dto/join-group.dto';
import { CancelJoinGroupDto } from './dto/cancel-join-group.dto';
import { CreateUserDto } from './dto/create-user.dto';
export declare class UsersController {
    private readonly usersService;
    private readonly authService;
    constructor(usersService: UsersService, authService: AuthService);
    getContactDetails(req: RequestWithUser): Promise<import("./users.service").User>;
    getGroupsAndRoles(req: RequestWithUser): Promise<{
        data: any;
    }>;
    getAvailableGroups(req: RequestWithUser): Promise<{
        data: any;
    }>;
    postJoinGorup(req: RequestWithUser, body: JoinGroupDto): Promise<void>;
    getPendingGroups(req: RequestWithUser): Promise<{
        data: any;
    }>;
    cancelPendingGroup(body: CancelJoinGroupDto): Promise<void>;
    availableProfiles(req: RequestWithUser): Promise<{
        data: {
            user_group_id: number;
            user_group_name: string;
            bis_id: number;
            status_desc: string;
            status: number;
        }[];
    }>;
    createAffiliate(req: RequestWithUser, body: CreateUserDto): Promise<import("./users.service").User | null>;
    createMember(req: RequestWithUser, body: CreateUserDto): Promise<import("./users.service").User | null>;
    remove(user_id: number): Promise<import("./users.service").User>;
    update(user_id: string, body: UpdateUserDto): Promise<import("./users.service").User>;
    findAll(): Promise<import("./users.service").User[]>;
    findOne(user_id: string): Promise<import("./users.service").User | null>;
}
