/// <reference types="qs" />
import Crowdin from '@crowdin/crowdin-api-client';
import { Response } from 'express';
import { Config, CrowdinClientRequest, CrowdinContextInfo, SubscriptionInfo } from '../types';
import { LogErrorFunction, LogFunction } from '../util/logger';
export declare function prepareCrowdinRequest({ jwtToken, config, optional, checkSubscriptionExpiration, moduleKey, }: {
    jwtToken: string;
    config: Config;
    optional: boolean;
    checkSubscriptionExpiration: boolean;
    moduleKey: string[] | string | undefined;
}): Promise<{
    context: CrowdinContextInfo;
    logInfo: LogFunction;
    logError: LogErrorFunction;
    client?: Crowdin;
    subscriptionInfo?: SubscriptionInfo;
}>;
export default function handle({ config, optional, checkSubscriptionExpiration, moduleKey, }: {
    config: Config;
    optional: boolean;
    checkSubscriptionExpiration: boolean;
    moduleKey?: string[] | string | undefined;
}): (req: CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
export declare function getToken(req: CrowdinClientRequest): string | undefined;
