import { CreatePartyTypeDto } from "./dto/create-party-type.dto";
import { UpsertPartyPaymentDto } from "./dto/upsert-party-payment.dto";
import { PartyTypeRepository } from "./repositories/party-type.repository";
import { PartyPaymentRepository } from "./repositories/party-payment.repository";
import { ProjectRepository } from "../projects/repositories/project.repository";
import { ContractorRepository } from "../contractors/repositories/contractor.repository";
import { VendorRepository } from "../vendors/repositories/vendor.repository";
import { ConsultantRepository } from "../consultants/repositories/consultant.repository";
import { PartyTypeCategory } from "./entities/party-type.entity";
import { PartyPaymentHistory } from "./entities/party-payment-history.entity";
import { Project } from "../projects/entities/project.entity";
import { DataSource, Repository } from "typeorm";
export declare class PartyTypesService {
    private readonly partyTypeRepository;
    private readonly partyPaymentRepository;
    private readonly contractorRepository;
    private readonly vendorRepository;
    private readonly consultantRepository;
    private readonly dataSource;
    private readonly partyPaymentHistoryRepository;
    private readonly projectEntityRepository;
    private readonly projectRepository;
    constructor(partyTypeRepository: PartyTypeRepository, partyPaymentRepository: PartyPaymentRepository, contractorRepository: ContractorRepository, vendorRepository: VendorRepository, consultantRepository: ConsultantRepository, dataSource: DataSource, partyPaymentHistoryRepository: Repository<PartyPaymentHistory>, projectEntityRepository: Repository<Project>, projectRepository: ProjectRepository);
    create(createPartyTypeDto: CreatePartyTypeDto, token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getTypesByCategory(category: PartyTypeCategory, token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    checkPartyTypeExist(typeName: string, category: PartyTypeCategory, companyId: number): Promise<boolean>;
    upsertPayment(partyId: number, dto: UpsertPartyPaymentDto, token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
}
