import { type RequestUser } from "./auth.guard";
import { ProfileService } from "./profile.service";
interface MultipartPhoto {
    filename: string;
    mimetype: string;
    toBuffer: () => Promise<Buffer>;
}
export declare class ProfileController {
    private readonly profiles;
    constructor(profiles: ProfileService);
    profile(user: RequestUser): Promise<{
        user: {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        };
    }>;
    uploadPhoto(user: RequestUser, req: {
        file: () => Promise<MultipartPhoto | undefined>;
    }): Promise<{
        user: {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        };
    }>;
    removePhoto(user: RequestUser): Promise<{
        user: {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        };
    }>;
    photo(userId: string, photoName: string, reply: {
        header: (name: string, value: string) => void;
        send: (payload: unknown) => unknown;
    }): Promise<unknown>;
}
export {};
//# sourceMappingURL=profile.controller.d.ts.map