import { Router } from 'express'; import { ServerScope } from 'nano'; import { Authenticator } from 'passport'; import { Mailer } from './mailer'; import { Middleware } from './middleware'; import { OAuth } from './oauth'; import { Config } from './types/config'; import { User } from './user'; export declare class CouchAuth extends User { router: Router; passport: Authenticator; registerProvider: OAuth['registerProvider']; registerOAuth2: OAuth['registerOAuth2']; registerTokenProvider: OAuth['registerTokenProvider']; sendEmail: Mailer['sendEmail']; requireAuth: Middleware['requireAuth']; requireRole: Middleware['requireRole']; requireAnyRole: Middleware['requireAnyRole']; requireAllRoles: Middleware['requireAllRoles']; constructor(configData: Partial, couchServer?: ServerScope, passport?: Authenticator); } export * as TemplateUtils from './template-utils'; export { CouchAuth as SuperLogin };