import { type Secret, type SignOptions } from 'jsonwebtoken';
export declare const Auth: Readonly<{
    /**
     * Hash a password
     */
    hash(password: string): Promise<string>;
    /**
     * Compare a password with a hash
     */
    compare(password: string, hash: string): Promise<boolean>;
    /**
     * Generate a JWT token
     */
    generateToken(payload: Record<string, unknown>, secret: Secret, expiresIn?: NonNullable<SignOptions["expiresIn"]>): string;
    /**
     * Verify a JWT token
     */
    verifyToken<T>(token: string, secret: Secret): T;
}>;
//# sourceMappingURL=Auth.d.ts.map