import { Kysely } from 'kysely';
import { DB } from "../../database/database.type";
import { Logger } from 'pino-nestjs';
type OpeningType = 'open_24h' | 'scheduled' | 'appointment' | 'unknown';
export declare class OrgService {
    private readonly db;
    private readonly logger;
    constructor(db: Kysely<DB>, logger: Logger);
    getPublicOrganisations(query?: Record<string, unknown>): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: any;
            user_id: any;
            name: any;
            type: any;
            abn: any;
            address: any;
            phone: any;
            email: any;
            website: any;
            latitude: any;
            longitude: any;
            description: any;
            logo_uri: any;
            status: any;
            approved_at: any;
            created_at: any;
            animal_count: any;
            opening_type: OpeningType;
            opening_hours: any;
            distance_km: number | null;
        }[];
    }>;
    getOrganisation(orgId: string): Promise<{
        status: boolean;
        statusCode: number;
        data: any;
    }>;
    getOrganisationAnimals(orgId: string): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: any;
            orgId: any;
            pet_type: any;
            pet_name: any;
            breed: any;
            size: any;
            color: any;
            markings: any;
            photo_uris: string[];
            description: any;
            intake_date: any;
            intake_type: any;
            microchip_number: any;
            desexed: any;
            status: any;
            created_at: any;
            updatedAt: any;
        }[];
    }>;
    registerPartner(user_id: string, data: any): Promise<{
        status: boolean;
        statusCode: number;
        data: any;
    }>;
    getMyOrganisation(user_id: string): Promise<{
        status: boolean;
        statusCode: number;
        data: any;
    }>;
    updateMyOrganisation(user_id: string, data: any): Promise<{
        status: boolean;
        statusCode: number;
        data: any;
    }>;
    getMyAnimals(user_id: string): Promise<{
        status: boolean;
        statusCode: number;
        data: any[];
    }>;
    addAnimal(user_id: string, data: any): Promise<{
        status: boolean;
        statusCode: number;
        data: any;
    }>;
    getMyAnimal(user_id: string, animalId: string): Promise<{
        status: boolean;
        statusCode: number;
        data: any;
    }>;
    updateMyAnimal(user_id: string, animalId: string, data: any): Promise<{
        status: boolean;
        statusCode: number;
        data: any;
    }>;
    deleteMyAnimal(user_id: string, animalId: string): Promise<{
        status: boolean;
        statusCode: number;
        message: string;
    }>;
}
export {};
