import { HttpStatus } from '@nestjs/common';
import { Kysely } from 'kysely';
import { DB } from "../../database/database.type";
import { Logger } from 'pino-nestjs';
import { ImageService } from "../../utils/image/image.service";
import { CreateProfileDto, UpdateProfileDto } from './pets.dto';
export declare class ProfilesService {
    private readonly db;
    private readonly imageService;
    private readonly logger;
    constructor(db: Kysely<DB>, imageService: ImageService, logger: Logger);
    getProfiles(userId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any[];
    }>;
    getAllProfiles(): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any[];
    }>;
    getProfilesBySuburb(suburb: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: {
            id: any;
            pet_type: any;
            pet_name: any;
            breed: any;
            size: any;
            color: any;
            markings: any;
            photo_uris: any;
            suburb: any;
            microchip_number: any;
            created_at: any;
            ownerdisplay_name: any;
        }[];
    }>;
    createProfile(userId: string, body: CreateProfileDto, files?: {
        photos?: Express.Multer.File[];
        biometricPhotos?: Express.Multer.File[];
    }): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any;
    }>;
    getProfile(id: string, userId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any;
    }>;
    getSharedProfile(id: string, requesterId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any;
    }>;
    updateProfile(id: string, userId: string, body: UpdateProfileDto, files?: {
        photos?: Express.Multer.File[];
        biometricPhotos?: Express.Multer.File[];
    }): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: any;
    }>;
    deleteProfile(id: string, userId: string): Promise<{
        status: boolean;
        statusCode: HttpStatus;
        data: {
            message: string;
        };
    }>;
}
