import { Request, Response } from 'express';
import { AuthConfig, CallbackResult, LoginConfig, LogoutConfig, TokenData } from './types';
export declare class AuthService {
    private wristbandService;
    private clientId;
    private customApplicationLoginPageUrl?;
    private dangerouslyDisableSecureCookies;
    private loginStateSecret;
    private loginUrl;
    private redirectUri;
    private rootDomain;
    private scopes;
    private useCustomDomains;
    private useTenantSubdomains;
    private wristbandApplicationDomain;
    constructor(authConfig: AuthConfig);
    login(req: Request, res: Response, config?: LoginConfig): Promise<void>;
    callback(req: Request, res: Response): Promise<CallbackResult>;
    logout(req: Request, res: Response, config?: LogoutConfig): Promise<void>;
    refreshTokenIfExpired(refreshToken: string, expiresAt: number): Promise<TokenData | null>;
}
