import { SupabaseClient, Provider } from "@supabase/supabase-js"; import { SignUpCredentials, SignInCredentials, OAuthOptions, AuthStateChangeCallback } from "./authTypes"; export declare class AuthService { private supabase; constructor(supabase: SupabaseClient); /** * Sign up a new user with email and password. * @param credentials - User's email and password. * @returns Supabase response data and error. */ signUp(credentials: SignUpCredentials): Promise<{ data: { user: import("@supabase/supabase-js").AuthUser | null; session: import("@supabase/supabase-js").AuthSession | null; } | { user: null; session: null; }; error: import("@supabase/supabase-js").AuthError | null; }>; /** * Sign in an existing user with email and password. * @param credentials - User's email and password. * @returns Supabase response data and error. */ signIn(credentials: SignInCredentials): Promise<{ data: { user: import("@supabase/supabase-js").AuthUser; session: import("@supabase/supabase-js").AuthSession; weakPassword?: import("@supabase/supabase-js").WeakPassword; } | { user: null; session: null; weakPassword?: null; }; error: import("@supabase/supabase-js").AuthError | null; }>; /** * Sign in with OAuth provider. * @param options - OAuth provider options. * @returns Supabase response data and error. */ signInWithOAuth(options: OAuthOptions): Promise<{ data: { provider: Provider; url: string; } | { provider: Provider; url: null; }; error: import("@supabase/supabase-js").AuthError | null; }>; /** * Sign out the current user. * @returns Supabase response error if any. */ signOut(): Promise<{ error: import("@supabase/supabase-js").AuthError | null; }>; /** * Listen to authentication state changes. * @param callback - Function to handle auth events. * @returns Unsubscribe function. */ onAuthStateChange(callback: AuthStateChangeCallback): () => void; }