import { TripSourceRepository } from './repositories/trip-source.repository';
import { TripSourceMediaRepository } from './repositories/trip-source-media.repository';
import { MediaService } from '../../common/media/media.service';
import { AgentCostRepository } from '../agent-cost/repositories/agent-cost.repository';
import { CreateTripSourceDto, UpdateTripSourceDto } from './dto';
import { TripSourceEntity } from '../../entities/trip-source.entity';
import { ClsService } from 'nestjs-cls';
export declare class TripSourceService {
    private readonly repo;
    private readonly agentCosts;
    private readonly cls;
    private readonly mediaRepo;
    private readonly media;
    private readonly logger;
    constructor(repo: TripSourceRepository, agentCosts: AgentCostRepository, cls: ClsService, mediaRepo: TripSourceMediaRepository, media: MediaService);
    findAll(query?: {
        page?: number;
        limit?: number;
        search?: string;
    }, filters?: {
        sourceType?: string;
        status?: string;
        agentCostId?: string;
    }): Promise<{
        items: TripSourceEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    findAllForLookup(search?: string): Promise<TripSourceEntity[]>;
    createPlaceholder(name: string): Promise<{
        id: string;
        name: string;
    }>;
    findById(id: string): Promise<{
        media: import("../../common/media/media.service").MediaView[];
        source_type: string;
        short_code: string;
        name: string;
        short_name: string;
        contact_name: string;
        contact_email: string | null;
        contact_phone_code: string | null;
        contact_phone: string | null;
        city: string | null;
        state: string | null;
        country: string | null;
        pin_code: string | null;
        street_address: string | null;
        locality: string | null;
        landmark: string | null;
        billing_name: string | null;
        billing_details: string | null;
        is_active: boolean;
        agent_cost_id: string | null;
        agent_cost: import("../../entities/agent-cost.entity").AgentCostEntity | 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: CreateTripSourceDto): Promise<{
        id: string;
        message: string;
    }>;
    update(id: string, dto: UpdateTripSourceDto): Promise<{
        id: string;
        message: string;
    }>;
    private resolveAgentCostId;
    remove(id: string): Promise<{
        message: string;
    }>;
}
