import { type Request, type Response } from 'express';
export declare function isOAuthAllowed(req: Request): boolean;
export declare function getOAuthSettings(req: Request): {
    baseURL: string;
    authPath: string;
    logoutPath: string;
    tokenPath: string;
    clientId: string;
    clientSecret: string;
    scope: string;
    buttonLabel?: string;
    callbackBaseUrl?: string;
};
export type OAuthAuthorizationTokens = {
    access_token: string;
    expires_in: number;
    refresh_token: string;
    refresh_expires_in: number;
};
export declare function isUserOAuthLogged(req: Request): boolean;
export declare function getOAuthAccessToken(req: Request, res: Response): Promise<any>;
export declare function removeOAuthCookies(res: Response): void;
export declare function saveOAuthTokensInCookies(res: Response, tokens: OAuthAuthorizationTokens): void;
export declare function getOAuthLoginPath(req: Request, res: Response): string;
export declare function getOAuthLogoutPath(req: Request): string;
export declare function refreshOAuthToken(req: Request, token: string): Promise<OAuthAuthorizationTokens>;
export declare function exchangeOAuthToken(req: Request, code: string): Promise<OAuthAuthorizationTokens>;
