/** * User factory functions for testing * * Provides functions to create mock users for OAuth and auth testing. * * @example * ```typescript * const user = createMockUser({ username: 'TestPlayer' }); * const row = createMockUserRow({ auth_provider: 'discord' }); * ``` */ import type { AuthUser } from '@xivdyetools/types/auth'; export type { AuthUser }; /** * User database row type */ export interface UserRow { id: string; discord_id: string | null; xivauth_id: string | null; auth_provider: string; username: string; avatar_url: string | null; created_at: string; updated_at: string; } /** * Creates a mock user row (as returned from database) * * @param overrides - Optional overrides for the default values * @returns A UserRow object */ export declare function createMockUserRow(overrides?: Partial): UserRow; /** * Creates a mock AuthUser (domain object) * * @param overrides - Optional overrides for the default values * @returns An AuthUser object */ export declare function createMockUser(overrides?: Partial): AuthUser; /** * Creates multiple mock users * * @param count - Number of users to create * @param overrides - Optional overrides to apply to all users * @returns Array of AuthUser objects */ export declare function createMockUsers(count: number, overrides?: Partial): AuthUser[]; /** * Creates a Discord-authenticated user * * @param discordId - Discord user ID * @param overrides - Optional additional overrides * @returns An AuthUser object */ export declare function createDiscordUser(discordId: string, overrides?: Partial): AuthUser; /** * Creates an XIVAuth-authenticated user * * @param xivauthId - XIVAuth user ID * @param overrides - Optional additional overrides * @returns An AuthUser object */ export declare function createXIVAuthUser(xivauthId: string, overrides?: Partial): AuthUser; /** * Converts an AuthUser to a UserRow * * @param user - The AuthUser to convert * @param discordId - Discord ID (if auth_provider is 'discord') * @param xivauthId - XIVAuth ID (if auth_provider is 'xivauth') * @returns A UserRow object */ export declare function userToRow(user: AuthUser, discordId?: string | null, xivauthId?: string | null): UserRow; //# sourceMappingURL=user.d.ts.map