import type { Facilitator } from '../types'; type FindDuplicateId = T extends readonly [ infer First extends Facilitator, ...infer Rest extends readonly Facilitator[] ] ? First['id'] extends Seen ? First['id'] : FindDuplicateId : never; type ExtractAddressTokenPairs = F['addresses'] extends Record ? Addrs extends readonly [ infer A extends { address: string; token: { address: string; }; }, ...infer RestAddrs ] ? `${F['id']}:${C & string}:${A['address']}:${A['token']['address']}` | ExtractAddressTokenPairs<{ id: F['id']; addresses: Record; } & Facilitator> : never : never; type FindDuplicateAddressToken = T extends readonly [ infer First extends Facilitator, ...infer Rest extends readonly Facilitator[] ] ? ExtractAddressTokenPairs extends infer CurrentPairs extends string ? CurrentPairs extends Seen ? CurrentPairs : FindDuplicateAddressToken : FindDuplicateAddressToken : never; export declare function validateUniqueFacilitators[]>(facilitators: FindDuplicateId extends never ? FindDuplicateAddressToken extends never ? T : `❌ COMPILE ERROR: Duplicate address/token pair: '${FindDuplicateAddressToken}' (format: id:chain:address:token)` : `❌ COMPILE ERROR: Duplicate facilitator ID: '${FindDuplicateId}' - each ID must appear only once!`): T; export {}; //# sourceMappingURL=validate.d.ts.map