import { ChatService } from './chat.service';
import { ChatGateway } from './chat.gateway';
import { PushService } from './push.service';
import { CreateRoomDto } from './dto/chat.dto';
export declare class ChatController {
    private readonly chatService;
    private readonly chatGateway;
    private readonly pushService;
    constructor(chatService: ChatService, chatGateway: ChatGateway, pushService: PushService);
    getRooms(req: any): Promise<any>;
    createRoom(dto: CreateRoomDto, req: any): Promise<import("./entities/chat-room.entity").ChatRoom>;
    getOrCreateDirect(targetUserId: number, req: any): Promise<import("./entities/chat-room.entity").ChatRoom>;
    getRoom(roomId: number): Promise<import("./entities/chat-room.entity").ChatRoom | null>;
    getMessages(roomId: number, page: string | undefined, limit: string | undefined, req: any): Promise<any[]>;
    getMembers(roomId: number): Promise<any>;
    getUnreadCount(req: any): Promise<{
        count: number;
    }>;
    getAllUsers(req: any): Promise<any>;
    getOnlineStatus(userIds: string): Promise<Record<number, boolean>>;
    uploadFile(file: any, req: any): Promise<{
        success: boolean;
        file_url: string;
        file_name: any;
        type: string;
        size: any;
    }>;
    subscribePush(req: any, body: {
        endpoint: string;
        keys: {
            p256dh: string;
            auth: string;
        };
    }): Promise<{
        success: boolean;
        error: string;
    } | {
        success: boolean;
        error?: undefined;
    }>;
    unsubscribePush(body: {
        endpoint: string;
    }): Promise<{
        success: boolean;
        error: string;
    } | {
        success: boolean;
        error?: undefined;
    }>;
}
