import { NextRequest, NextResponse } from 'next/server';
import { AppRouterLoginStateCookie, LoginState, LoginStateMapConfig } from '../../types';
export declare function parseTenantSubdomain(req: NextRequest, rootDomain: string): string;
export declare function resolveTenantDomainName(req: NextRequest, useTenantSubdomains: boolean, rootDomain: string): string;
export declare function resolveTenantCustomDomainParam(req: NextRequest): string;
export declare function createLoginState(req: NextRequest, redirectUri: string, config?: LoginStateMapConfig): LoginState;
export declare function createLoginStateCookie(req: NextRequest, res: NextResponse, state: string, encryptedLoginState: string, dangerouslyDisableSecureCookies: boolean): void;
export declare function getAuthorizeUrl(req: NextRequest, 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 getLoginStateCookie(req: NextRequest): AppRouterLoginStateCookie | null;
export declare function clearLoginStateCookie(res: NextResponse, cookieName: string, dangerouslyDisableSecureCookies: boolean): void;
