import { InjectionToken } from '@nestjs/common'; import { MergeModuleOptions } from './merge-module-options.interface'; import { MergeServiceClass } from './merge.service.interface'; /** * Factory function for creating a MergeController bound to a specific route suffix. * * Why: Instead of writing separate controllers for each resource type, * we generate one dynamically. This ensures DRY principles while still * supporting custom routes (e.g. `/merge/news` or `/merge/event`). * * @param {InjectionToken} serviceToken - Token used for service injection. * @param {MergeModuleOptions} options - * @returns A dynamically generated controller class. */ export declare function createMergeController(serviceToken: InjectionToken, options: MergeModuleOptions): { new (mergeService: MergeServiceClass): { readonly mergeService: MergeServiceClass; /** * Merge all references from an old account into a new account. * * Example: * PATCH /merge/news/account/123/456 * → moves all references from account `123` to account `456` * * @param {string} oldAccountId - The identifier of the account being replaced. * @param {string} newAccountId - The identifier of the account that should own all references. * @returns {Promise} - Resolves once the merge operation completes. */ mergeAccount(oldAccountId: string, newAccountId: string): Promise; }; };