import { DestinationRepository } from './repositories/destination.repository';
import { DestinationMediaRepository } from './repositories/destination-media.repository';
import { MediaService } from '../../common/media/media.service';
import { CreateDestinationDto, UpdateDestinationDto } from './dto';
import { DestinationEntity } from '../../entities/destination.entity';
export declare class DestinationService {
    private readonly destRepo;
    private readonly mediaRepo;
    private readonly media;
    constructor(destRepo: DestinationRepository, mediaRepo: DestinationMediaRepository, media: MediaService);
    findAll(query?: {
        page?: number;
        limit?: number;
        search?: string;
    }): Promise<{
        items: DestinationEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    findAllForLookup(): Promise<DestinationEntity[]>;
    findById(id: string): Promise<{
        media: import("../../common/media/media.service").MediaView[];
        name: string;
        short_code: string;
        country: string;
        city: string;
        currency: import("../../entities").CurrencyEntity;
        currency_id: string | null;
        timezone: string | null;
        description: string | null;
        image_url: string | null;
        visa_required: boolean;
        tax_types: string[] | null;
        services: string[] | null;
        usd_to_base_rate: string | null;
        rate_updated_at: Date | null;
        tax_slab_id: 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: CreateDestinationDto): Promise<{
        id: string;
        message: string;
    }>;
    update(id: string, dto: UpdateDestinationDto): Promise<{
        id: string;
        message: string;
    }>;
    remove(id: string): Promise<{
        message: string;
    }>;
}
