import { DataSource } from 'typeorm';
export interface DuplicateGroup {
    normalized_name: string;
    companies: DuplicateCompany[];
}
export interface DuplicateCompany {
    id: number;
    name: string;
    normalized_name: string;
    company_code: string;
    contact_person: string;
    email: string;
    mobile: string;
    city: string;
    client_group: string;
    created_at: string;
    audit_request_count: number;
    branch_count: number;
    portal_user_count: number;
    audit_count: number;
    inquiry_count: number;
}
export interface MergeResult {
    kept_id: number;
    removed_id: number;
    removed_name: string;
    moved: {
        audit_requests: number;
        branches: number;
        portal_users: number;
        audits: number;
        inquiries: number;
        client_links: number;
        change_logs: number;
    };
}
export declare class CompanyMergeService {
    private readonly dataSource;
    private readonly logger;
    constructor(dataSource: DataSource);
    findDuplicateGroups(): Promise<DuplicateGroup[]>;
    mergeCompanies(keepId: number, removeId: number, userId: number): Promise<MergeResult>;
    getMergeHistory(): Promise<any[]>;
}
