import { Request, Response, NextFunction } from 'express';
export declare const AUTH_COOKIE_NAME = "rm_auth";
export declare const AUTH_STATE_COOKIE_NAME = "rm_logged_in";
export interface AuthPayload {
    userId: string;
    email: string;
    tokenVersion?: number;
}
declare global {
    namespace Express {
        interface Request {
            user?: AuthPayload;
        }
    }
}
export declare function setAuthCookies(res: Response, token: string): void;
export declare function clearAuthCookies(res: Response): void;
export declare function authMiddleware(req: Request, res: Response, next: NextFunction): void;
export declare function optionalAuth(req: Request, _res: Response, next: NextFunction): void;
export declare function signToken(payload: AuthPayload): string;
export declare function getAuthPayloadFromRequest(req: Request): Promise<AuthPayload | null>;
//# sourceMappingURL=auth.d.ts.map