interface NaluriVideoLoginOptions { authorizationCode: string; } interface TokenPayload { accessToken: string; expiresIn: number; idToken: string; refreshToken: string; tokenType: 'Bearer'; } interface AccountUser { id: string; referenceId: string; tenantId: string; name: string; country: string; claims: Record; email: string; codeId: string; couponId: string; subscriptionId: string; preferredLanguage: string; deletedAt: Date | null; insertedAt: Date; updatedAt: Date; chatUserId: string; } interface NaluriVideoLoginResponse extends TokenPayload { user: AccountUser; } interface NaluriVideoRefreshTokenOptions { refreshToken: string; } type NaluriVideoRefreshTokenResponse = TokenPayload; interface NaluriVideoLogoutOptions { refreshToken: string; } type CoachUser = { id: string; userId: string; email: string; name: string; photo?: string; professionalTitle?: string; bio?: string; country: string; employmentType?: string; availability: string; role: string; coachRole: string; }; export type { AccountUser, CoachUser, NaluriVideoLoginOptions, NaluriVideoLoginResponse, NaluriVideoLogoutOptions, NaluriVideoRefreshTokenOptions, NaluriVideoRefreshTokenResponse, TokenPayload };