import { UserRole } from '@prisma/client'; import type { RegisterInput } from './auth.schemas'; export interface TokenPair { accessToken: string; refreshToken: string; } type UserForToken = { id: string; email: string; role: UserRole; roles?: unknown; }; export declare const authService: { login(email: string, password: string): Promise<{ accessToken: string; refreshToken: string; user: { status: import(".prisma/client").$Enums.UserStatus; id: string; email: string; name: string | null; phone: string | null; pronouns: string | null; role: import(".prisma/client").$Enums.UserRole; roles: import("@prisma/client/runtime/library").JsonValue; permissions: import("@prisma/client/runtime/library").JsonValue | null; createdVia: import(".prisma/client").$Enums.UserCreatedVia; expiresAt: Date | null; expireDays: number | null; lastLoginAt: Date | null; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; register(data: RegisterInput): Promise<{ user: { status: import(".prisma/client").$Enums.UserStatus; id: string; email: string; name: string | null; phone: string | null; pronouns: string | null; role: import(".prisma/client").$Enums.UserRole; roles: import("@prisma/client/runtime/library").JsonValue; permissions: import("@prisma/client/runtime/library").JsonValue | null; createdVia: import(".prisma/client").$Enums.UserCreatedVia; expiresAt: Date | null; expireDays: number | null; lastLoginAt: Date | null; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; requiresVerification: boolean; message: string; } | { accessToken: string; refreshToken: string; user: { status: import(".prisma/client").$Enums.UserStatus; id: string; email: string; name: string | null; phone: string | null; pronouns: string | null; role: import(".prisma/client").$Enums.UserRole; roles: import("@prisma/client/runtime/library").JsonValue; permissions: import("@prisma/client/runtime/library").JsonValue | null; createdVia: import(".prisma/client").$Enums.UserCreatedVia; expiresAt: Date | null; expireDays: number | null; lastLoginAt: Date | null; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; requiresVerification?: undefined; message?: undefined; }>; refreshTokens(refreshToken: string): Promise<{ accessToken: string; refreshToken: string; user: { status: import(".prisma/client").$Enums.UserStatus; id: string; email: string; name: string | null; phone: string | null; pronouns: string | null; role: import(".prisma/client").$Enums.UserRole; roles: import("@prisma/client/runtime/library").JsonValue; permissions: import("@prisma/client/runtime/library").JsonValue | null; createdVia: import(".prisma/client").$Enums.UserCreatedVia; expiresAt: Date | null; expireDays: number | null; lastLoginAt: Date | null; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; logout(refreshToken: string): Promise; generateAccessToken(user: UserForToken): string; generateRefreshToken(user: UserForToken): Promise; generateTokenPair(user: UserForToken): Promise; }; export {}; //# sourceMappingURL=auth.service.d.ts.map