import { NextApiRequest, NextApiResponse } from 'next';
import { LoginState, LoginStateMapConfig } from '../../types';
export declare function parseTenantSubdomain(request: NextApiRequest, parseTenantFromRootDomain: string): string;
export declare function resolveTenantName(request: NextApiRequest, parseTenantFromRootDomain: string): string;
export declare function resolveTenantCustomDomainParam(request: NextApiRequest): string;
export declare function createLoginState(request: NextApiRequest, redirectUri: string, config?: LoginStateMapConfig): LoginState;
export declare function createLoginStateCookie(request: NextApiRequest, response: NextApiResponse, state: string, encryptedLoginState: string, dangerouslyDisableSecureCookies: boolean): void;
export declare function getAuthorizeUrl(request: NextApiRequest, config: {
    clientId: string;
    codeVerifier: string;
    defaultTenantCustomDomain?: string;
    defaultTenantName?: string;
    redirectUri: string;
    scopes: string[];
    state: string;
    tenantCustomDomain?: string;
    tenantName?: string;
    isApplicationCustomDomainActive?: boolean;
    wristbandApplicationVanityDomain: string;
}): Promise<string>;
export declare function getAndClearLoginStateCookie(request: NextApiRequest, response: NextApiResponse, dangerouslyDisableSecureCookies: boolean): string;
