export interface VerifiedUser {
    id: string;
    email?: string;
}
/**
 * Minimal, dependency-free verifier for Rivet (Supabase) JWTs.
 *
 * The proxy (`src/proxy`) verifies tokens with `@supabase/supabase-js`, but that
 * package and the whole `src/proxy` tree are excluded from the main `tsc` build.
 * The Prototype Preview Host is part of the main build, so it can't reuse that
 * service. Instead we hit Supabase's GoTrue REST endpoint directly with `fetch`
 * — exactly what `supabase.auth.getUser(token)` does under the hood — using the
 * same `SUPABASE_URL` / `SUPABASE_ANON_KEY` the proxy already holds.
 */
export declare class SupabaseAuthService {
    private readonly url;
    private readonly anonKey;
    constructor(opts?: {
        url?: string;
        anonKey?: string;
    });
    /** Returns the user for a valid JWT, or null when the token is missing/invalid. */
    verifyToken(token: string): Promise<VerifiedUser | null>;
}
//# sourceMappingURL=SupabaseAuthService.d.ts.map