import type { IDirectorySyncController, JacksonOption } from './typings';
import { AdminController } from './controller/admin';
import { ConnectionAPIController } from './controller/api';
import { OAuthController } from './controller/oauth';
import { LogoutController } from './controller/logout';
import { OidcDiscoveryController } from './controller/oidc-discovery';
import { SPSSOConfig } from './controller/sp-config';
import { SetupLinkController } from './controller/setup-link';
import { type IIdentityFederationController } from './ee/identity-federation';
import { BrandingController } from './ee/branding';
import { ProductController } from './ee/product';
export declare const controllers: (opts: JacksonOption) => Promise<{
    apiController: ConnectionAPIController;
    connectionAPIController: ConnectionAPIController;
    oauthController: OAuthController;
    adminController: AdminController;
    logoutController: LogoutController;
    setupLinkController: SetupLinkController;
    directorySyncController: IDirectorySyncController;
    oidcDiscoveryController: OidcDiscoveryController;
    spConfig: SPSSOConfig;
    identityFederationController: IIdentityFederationController;
    brandingController: IBrandingController;
    checkLicense: () => Promise<boolean>;
    productController: ProductController;
    close: () => Promise<void>;
}>;
export default controllers;
export * from './typings';
export * from './ee/identity-federation/types';
export type SAMLJackson = Awaited<ReturnType<typeof controllers>>;
export type ISetupLinkController = InstanceType<typeof SetupLinkController>;
export type IBrandingController = InstanceType<typeof BrandingController>;
