import { AppTree, ExtensionFactoryMiddleware, FrontendFeature } from '@backstage/frontend-plugin-api';
import { ApiHolder, ConfigApi } from '@backstage/core-plugin-api';
import { CreateAppRouteBinder } from '../routing';
import { FrontendPluginInfoResolver } from './createPluginInfoAttacher';
/**
 * Creates an empty app without any default features. This is a low-level API is
 * intended for use in tests or specialized setups. Typically you want to use
 * `createApp` from `@backstage/frontend-defaults` instead.
 *
 * @public
 */
export declare function createSpecializedApp(options?: {
    features?: FrontendFeature[];
    config?: ConfigApi;
    bindRoutes?(context: {
        bind: CreateAppRouteBinder;
    }): void;
    apis?: ApiHolder;
    extensionFactoryMiddleware?: ExtensionFactoryMiddleware | ExtensionFactoryMiddleware[];
    flags?: {
        allowUnknownExtensionConfig?: boolean;
    };
    pluginInfoResolver?: FrontendPluginInfoResolver;
}): {
    apis: ApiHolder;
    tree: AppTree;
};
