/** * T-069 + T-624: 邀请分享组件(含邀请记录列表 Tab) * Tab 1: 邀请码+复制按钮、邀请链接+分享按钮、已邀请人数+奖励统计 * Tab 2: 邀请记录列表(被邀请人昵称/头像、状态、奖励详情) */ import { BaseComponent } from '../base/BaseComponent'; /** 邀请分享数据 */ export interface ReferralShareData { /** 邀请码 */ referralCode: string; /** 邀请链接 */ referralLink: string; /** 已邀请人数 */ invitedCount: number; /** 已获得奖励积分 */ rewardPoints: number; /** 每次邀请奖励积分 */ rewardPerInvite: number; } /** 邀请记录项 */ export interface ReferralRecordItem { inviteeId: number; nickname: string; avatar: string; status: 'registered' | 'first_order' | 'rewarded'; rewardPoints: number; rewardIssued: boolean; rewardedAt: Date | null; createdAt: Date; } /** 邀请记录加载回调 */ export type LoadRecordsFn = (page: number) => Promise<{ items: ReferralRecordItem[]; totalPages: number; }>; export declare class ReferralShare extends BaseComponent { private data; private activeTab; private records; private recordsPage; private recordsTotalPages; private recordsLoading; private loadRecordsFn; /** 设置邀请数据 */ setData(data: ReferralShareData): void; /** 设置邀请记录加载函数 */ setLoadRecordsFn(fn: LoadRecordsFn): void; /** 切换 Tab */ private switchTab; /** 加载邀请记录 */ private loadRecords; /** 复制文本到剪贴板 */ private copyToClipboard; /** 触发分享 */ private handleShare; /** 获取状态标签文案 */ private getStatusLabel; /** 获取状态 CSS 类名 */ private getStatusClass; protected styles(): string; protected render(): string; private renderShareTab; private renderRecordsTab; protected afterRender(): void; } /** 注册自定义元素 */ export declare function registerReferralShare(): void; //# sourceMappingURL=ReferralShare.d.ts.map