import { LaunchContext } from '#services/launch/launch-context.service';
import type { HttpHandler } from '#services/http-handler/http-handler.types';
import type { DatabaseManager } from '#services/database-manager/database-manager.types';
import type { PlatformManager } from '#services/platform-manager/platform-manager.service';
import type { AccessTokenManager } from '#services/access-token-manager/access-token-manager.service';
import type { OidcService } from '#services/oidc/oidc.service';
import type { RequestHandler } from '#services/request-handler/request-handler.types';
import type { Logger } from '#services/logger/logger.types';
import type { InactivePlatformHandler, LaunchRoutes, OnLaunchHandler, UnregisteredPlatformHandler } from '#services/launch/launch.types';
export declare class LaunchService {
    private readonly LOG_COMPONENT;
    private readonly RECOVERED_STATE_FIELD;
    private readonly LOCAL_STORAGE_KEY_PREFIX;
    private readonly DEFAULT_LOGIN_ROUTE;
    private readonly DEFAULT_LAUNCH_ROUTE;
    private readonly LTIK_TTL_SECONDS;
    private readonly LOGIN_REDIRECT_TEMPLATE;
    private readonly SIGNED_STATE_FORM_TEMPLATE;
    private readonly DEFAULT_SUCCESS_BODY;
    private readonly databaseManager;
    private readonly platformManager;
    private readonly accessTokenManager;
    private readonly oidcService;
    private readonly requestHandler;
    private readonly httpHandler;
    private readonly logger;
    private onResourceLinkHandler;
    private onDeepLinkingHandler;
    private onSubmissionReviewHandler;
    private onUnregisteredPlatformHandler;
    private onInactivePlatformHandler;
    constructor(oidcService: OidcService, platformManager: PlatformManager, accessTokenManager: AccessTokenManager, databaseManager: DatabaseManager, requestHandler: RequestHandler, httpHandler: HttpHandler, logger: Logger);
    setOnResourceLinkHandler(handler: OnLaunchHandler): void;
    setOnDeepLinkingHandler(handler: OnLaunchHandler): void;
    setOnSubmissionReviewHandler(handler: OnLaunchHandler): void;
    setOnUnregisteredPlatformHandler(handler: UnregisteredPlatformHandler): void;
    setOnInactivePlatformHandler(handler: InactivePlatformHandler): void;
    private buildDefaultLaunchHandler;
    private buildDefaultUnregisteredPlatformHandler;
    private buildDefaultInactivePlatformHandler;
    getLaunchContext(ltik: string): Promise<LaunchContext>;
    prepareHttpRoutes(routes?: LaunchRoutes): void;
    /** Registers `path` as an additional launch route, dispatching through the same launch handlers as any other. */
    registerLaunchRoute(path: string): void;
    private buildLaunchContext;
    private buildLtik;
    private peekLtikTid;
    private verifyLtik;
    private handleLoginRequest;
    private handleLaunchRequest;
    private updateQueryWithState;
    private resolveHandler;
    private processLaunch;
    private resolveTargetLinkUri;
    private processLogin;
    private resolvePlatform;
    private resolveIdTokenPlatform;
    private resolveRecoveredState;
    private isSameOriginRequest;
    private buildLocalStorageKey;
    private peekStateToken;
    private toDataScript;
    private splitTargetLinkUri;
    private joinTargetLinkUri;
}
export default LaunchService;
