import { Repository } from 'typeorm';
import { PaymentMethod } from '../../entities/payment-method.entity';
import { Countries } from '../../entities/countries.entity';
import { CountryPaymentMethod } from '../../entities/country-payment-method.entity';
import { InfluencerPaymentMethod } from '../../entities/influencer-payment-method.entity';
import { PaymentMethodRepository } from './payment-method.repository';
import { PaymentMethodCreateDto } from './dtos/payment-method-create.dto';
import { PaymentMethodUpdateDto } from './dtos/payment-method-update.dto';
import { PaymentMethodIdParamDto } from './dtos/payment-method-id-param.dto';
import { PaymentMethodListQueryDto } from './dtos/payment-method-list-query.dto';
import { AssignPaymentMethodDto } from './dtos/assign-payment-method.dto';
import { CountryPaymentMethodListQueryDto } from './dtos/country-payment-method-list-query.dto';
import { CountryIdParamDto } from './dtos/country-id-param.dto';
import { InfluencerPaymentMethodCreateDto } from './dtos/influencer-payment-method-create.dto';
import { Users } from 'src/entities/users.entity';
export declare class PaymentMethodService {
    private paymentMethodRepository;
    private paymentMethodRepo;
    private countriesRepo;
    private countryPaymentMethodRepo;
    private influencerPaymentMethodRepo;
    private Users;
    constructor(paymentMethodRepository: PaymentMethodRepository, paymentMethodRepo: Repository<PaymentMethod>, countriesRepo: Repository<Countries>, countryPaymentMethodRepo: Repository<CountryPaymentMethod>, influencerPaymentMethodRepo: Repository<InfluencerPaymentMethod>, Users: Repository<Users>);
    create(request: PaymentMethodCreateDto): Promise<{
        data: PaymentMethod;
    }>;
    list(queryParam: PaymentMethodListQueryDto): Promise<{
        data: PaymentMethod[];
        total: number;
        hasMoreResults: number;
    }>;
    getById(params: PaymentMethodIdParamDto): Promise<{
        data: any;
    }>;
    update(params: PaymentMethodIdParamDto, request: PaymentMethodUpdateDto): Promise<{
        data: PaymentMethod;
    }>;
    delete(params: PaymentMethodIdParamDto): Promise<void>;
    changeStatus(params: PaymentMethodIdParamDto): Promise<{
        data: PaymentMethod;
    }>;
    assignPaymentMethods(request: AssignPaymentMethodDto): Promise<void>;
    listCountriesWithPaymentMethods(queryParam: CountryPaymentMethodListQueryDto): Promise<{
        data: Countries[];
        total: number;
        hasMoreResults: number;
    }>;
    getCountryDetails(params: CountryIdParamDto): Promise<{
        data: any;
    }>;
    getPaymentMethodsByInfluencerCountry(queryParam: any, influencer: any): Promise<{
        data: Countries;
    }>;
    createInfluencerPaymentMethod(user: any, request: InfluencerPaymentMethodCreateDto): Promise<{
        data: InfluencerPaymentMethod;
    }>;
    script(): Promise<void>;
}
