import { ServiceRef } from '../services';
import { BackendFeature } from '../types';
/**
 * @public
 * Options for creating a new backend feature loader.
 */
export interface CreateBackendFeatureLoaderOptions<TDeps extends {
    [name in string]: unknown;
}> {
    deps?: {
        [name in keyof TDeps]: ServiceRef<TDeps[name], 'root'>;
    };
    loader(deps: TDeps): Iterable<BackendFeature | Promise<{
        default: BackendFeature;
    }>> | Promise<Iterable<BackendFeature | Promise<{
        default: BackendFeature;
    }>>> | AsyncIterable<BackendFeature | {
        default: BackendFeature;
    }>;
}
/**
 * @public
 * Creates a new backend feature loader.
 */
export declare function createBackendFeatureLoader<TDeps extends {
    [name in string]: unknown;
}>(options: CreateBackendFeatureLoaderOptions<TDeps>): BackendFeature;
