import type { NextFunction, Request, Response } from 'express';
import { Logger } from 'winston';
export declare class AuthError extends Error {
    status: number;
    authPath: string;
    redirectTo: string;
    showHtml: boolean;
    constructor(msg: string, status: number);
}
export declare function redirError(req: Request, msg: string): AuthError;
export interface GoogleUser {
    id: string;
    name: string;
    email: string;
}
export declare function validateGetAuthState(req: Request, res: Response, next: any): void;
export declare function handleDriveUiInstall(req: Request, res: Response, next: any): Promise<void>;
export declare function handleShare(req: Request, res: Response, next: NextFunction): Promise<void>;
export declare function handlePopupClose(req: Request, res: Response, next: NextFunction): Promise<void>;
export declare function getAuth(req: Request, res: Response, next: NextFunction): Promise<void>;
export declare function authenticateOptionally(logger: Logger): (req: any, res: any, next: any) => Promise<void>;
export declare function authenticate(logger: Logger, idx?: number): (req: Request, res: Response, next: NextFunction) => Promise<any>;
export declare function setAccessCookie(res: Response, accessToken: string): void;
//# sourceMappingURL=auth.d.ts.map