import { z } from 'zod'; declare const loginSchema: z.ZodObject<{ email: z.ZodString; password: z.ZodString; }, "strip", z.ZodTypeAny, { email?: string; password?: string; }, { email?: string; password?: string; }>; declare const registerSchema: z.ZodObject<{ email: z.ZodString; name: z.ZodString; password: z.ZodString; organizationName: z.ZodOptional; }, "strip", z.ZodTypeAny, { email?: string; password?: string; name?: string; organizationName?: string; }, { email?: string; password?: string; name?: string; organizationName?: string; }>; export interface AuthUser { id: string; email: string; name: string; memberships: Array<{ orgId: string; role: string; organization: { name: string; plan: string; }; }>; } export interface AuthResult { user: AuthUser; token: string; } export declare class AuthService { private readonly JWT_SECRET; private readonly JWT_EXPIRES_IN; hashPassword(password: string): Promise; verifyPassword(hash: string, password: string): Promise; generateToken(userId: string, email: string): string; verifyToken(token: string): { userId: string; email: string; }; login(data: z.infer): Promise; register(data: z.infer): Promise; getUserById(userId: string): Promise; hasOrgAccess(userId: string, orgId: string): Promise; getUserRole(userId: string, orgId: string): Promise; } export {}; //# sourceMappingURL=auth.service.d.ts.map