import { NextApiRequest, NextApiResponse } from 'next';
import { LoginState, LoginStateMapConfig } from '../../types';
export declare function parseTenantSubdomain(req: NextApiRequest, rootDomain: string): string;
export declare function resolveTenantDomainName(req: NextApiRequest, useTenantSubdomains: boolean, rootDomain: string): string;
export declare function resolveTenantCustomDomainParam(req: NextApiRequest): string;
export declare function createLoginState(req: NextApiRequest, redirectUri: string, config?: LoginStateMapConfig): LoginState;
export declare function createLoginStateCookie(req: NextApiRequest, res: NextApiResponse, state: string, encryptedLoginState: string, dangerouslyDisableSecureCookies: boolean): void;
export declare function getAuthorizeUrl(req: NextApiRequest, config: {
    clientId: string;
    codeVerifier: string;
    defaultTenantCustomDomain?: string;
    defaultTenantDomainName?: string;
    redirectUri: string;
    scopes: string[];
    state: string;
    tenantCustomDomain?: string;
    tenantDomainName?: string;
    useCustomDomains?: boolean;
    wristbandApplicationDomain: string;
}): Promise<string>;
export declare function getAndClearLoginStateCookie(req: NextApiRequest, res: NextApiResponse, dangerouslyDisableSecureCookies: boolean): string;
