import { ActivityRepository } from './repositories/activity.repository';
import { ActivityTicketRepository } from './repositories/activity-ticket.repository';
import { ActivityMediaRepository } from './repositories/activity-media.repository';
import { MediaService } from '../../common/media/media.service';
import { ActivityEntity } from '../../entities/activity.entity';
import { CreateActivityDto, UpdateActivityDto } from './dto';
export declare class ActivityService {
    private readonly repo;
    private readonly ticketRepo;
    private readonly mediaRepo;
    private readonly media;
    constructor(repo: ActivityRepository, ticketRepo: ActivityTicketRepository, mediaRepo: ActivityMediaRepository, media: MediaService);
    private syncTicketSlots;
    findAll(query?: {
        page?: number;
        limit?: number;
        search?: string;
    }, filters?: {
        destinationId?: string;
    }): Promise<{
        items: ActivityEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    findAllForLookup(): Promise<ActivityEntity[]>;
    findById(id: string): Promise<{
        media: import("../../common/media/media.service").MediaView[];
        destination: import("../../entities").DestinationEntity;
        destination_id: string;
        short_code: string;
        category: string;
        name: string;
        address: string;
        location: string | null;
        cutoff_type: string | null;
        cutoff_value: string | null;
        operating_days: string[] | null;
        maintenance_periods: {
            start: string;
            end: string;
        }[] | null;
        gps_latitude: string | null;
        gps_longitude: string | null;
        contact_person: string;
        contact_phone: string | null;
        description: string | null;
        special_instructions: string | null;
        meeting_point: string | null;
        age_config: {
            label: string;
            min_age: number;
            max_age: number;
        }[] | null;
        tickets: import("../../entities").ActivityTicketEntity[];
        cover_image: string | null;
        gallery: {
            url: string;
            type: string;
            filename: string;
        }[] | null;
        has_transfer: boolean;
        is_special: boolean;
        is_active: boolean;
        tax_slab_id: string | null;
        customer_whatsapp_body: string | null;
        supplier_whatsapp_body: string | null;
        id: string;
        tenant_id: string;
        created_by: string | null;
        updated_by: string | null;
        created_at: Date;
        updated_at: Date;
        is_deleted: boolean;
    }>;
    create(dto: CreateActivityDto): Promise<{
        id: string;
        message: string;
    }>;
    update(id: string, dto: UpdateActivityDto): Promise<{
        id: string;
        message: string;
    }>;
    remove(id: string): Promise<{
        message: string;
    }>;
}
