const buildOverloadFamilyId = (ownerKind, publicName, isStatic) => {
    if (ownerKind === "method" || ownerKind === "constructor") {
        return `${ownerKind}:${isStatic ? "static" : "instance"}:${publicName}`;
    }
    return `${ownerKind}:${publicName}`;
};
const buildPublicOverloadMemberId = (familyId, signatureIndex) => `${familyId}:public:${signatureIndex}`;
export const buildPublicOverloadFamilyMember = (opts) => {
    const familyId = buildOverloadFamilyId(opts.ownerKind, opts.publicName, opts.isStatic);
    const overloadFamily = {
        familyId,
        memberId: buildPublicOverloadMemberId(familyId, opts.signatureIndex),
        ownerKind: opts.ownerKind,
        publicName: opts.publicName,
        isStatic: opts.isStatic,
        publicSignatureIndex: opts.signatureIndex,
        publicSignatureCount: opts.publicSignatureCount,
    };
    return overloadFamily;
};
//# sourceMappingURL=overload-family-builders.js.map