import { Repository } from 'typeorm';
import { ActivityPricingRepository } from './repositories/activity-pricing.repository';
import { ActivityPricingEntity } from '../../entities/activity-pricing.entity';
import { CurrencyEntity } from '../../entities/currency.entity';
import { CreateActivityPricingDto, UpdateActivityPricingDto } from './dto';
import { TaxSlabResolverService } from '../../common/services/tax-slab-resolver.service';
import { PermissionContextService } from '../../common/auth/permission-context.service';
export declare class ActivityPricingService {
    private readonly repo;
    private readonly perms;
    private readonly resolver;
    private readonly currencyRepo;
    constructor(repo: ActivityPricingRepository, perms: PermissionContextService, resolver: TaxSlabResolverService, currencyRepo: Repository<CurrencyEntity>);
    private bifurcatePricesForSave;
    private stripFloorFromPayload;
    findByDestination(destinationId: string, currencyId?: string): Promise<ActivityPricingEntity[]>;
    findPaginated(query: {
        destinationId?: string;
        currencyId?: string;
        search?: string;
        page?: number;
        limit?: number;
    }): Promise<{
        items: ActivityPricingEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    findById(id: string): Promise<ActivityPricingEntity>;
    create(dto: CreateActivityPricingDto): Promise<{
        id: string;
        message: string;
    }>;
    bulkSave(items: CreateActivityPricingDto[]): Promise<{
        results: {
            id: string;
            action: "created" | "updated";
        }[];
        message: string;
    }>;
    update(id: string, dto: UpdateActivityPricingDto): Promise<{
        id: string;
        message: string;
    }>;
    generateSample(destinationId?: string): Promise<Buffer>;
    importFromExcel(buffer: Buffer): Promise<import("../../common/services/pricing-import.helper").PricingImportResult>;
    remove(id: string): Promise<{
        message: string;
    }>;
    removeByActivity(activityId: string): Promise<{
        message: string;
    }>;
}
