import type { AuthProviderConfig, BetterAuthConfig, TokenValidationResult, AuthRequestContext, AuthHealthCheck } from "../../types/authTypes.js";
import { BaseAuthProvider } from "./BaseAuthProvider.js";
/**
 * Better Auth Provider
 *
 * Supports Better Auth, a self-hosted open-source authentication solution.
 * Validates session tokens and JWTs issued by Better Auth server.
 *
 * Features:
 * - JWT validation using HMAC secret
 * - Session validation via Better Auth API
 * - Social provider support (GitHub, Google, Discord)
 * - Session management (inherited from BaseAuthProvider)
 *
 * @example
 * ```typescript
 * const betterAuth = new BetterAuthProvider({
 *   type: "better-auth",
 *   secret: "your-better-auth-secret",
 *   baseUrl: "https://your-app.com"
 * });
 *
 * const result = await betterAuth.authenticateToken(sessionToken);
 * if (result.valid) {
 *   console.log("Authenticated user:", result.user);
 * }
 * ```
 */
export declare class BetterAuthProvider extends BaseAuthProvider {
    readonly type: "better-auth";
    private secret;
    private baseUrl;
    private secretKey;
    constructor(config: AuthProviderConfig & BetterAuthConfig);
    /**
     * Validate Better Auth token (session or JWT)
     */
    authenticateToken(token: string, _context?: AuthRequestContext): Promise<TokenValidationResult>;
    /**
     * Validate JWT using the secret
     */
    private validateJWT;
    /**
     * Validate session via Better Auth API
     */
    private validateSessionViaAPI;
    /**
     * Health check
     */
    healthCheck(): Promise<AuthHealthCheck>;
}
