import { InjectionToken, ModuleWithProviders, type Provider } from '@angular/core';
import { type BuildTimeProperties } from '@o3r/core';
import * as i0 from "@angular/core";
/**
 * AppBaseHref factory function
 * The APP_BASE_HREF will assume one of the following values (ordered by priority):
 * 1- undefined (or disabled) if it's not a PROD environment
 * 2- the content of the data tag data-appbasehref in the body if it exists
 * 3- the content of config.APP_BASE_HREF if defined
 * 4- otherwise, undefined
 * @param config The application environment configuration
 */
export declare function appBaseHrefFactory(config: BuildTimeProperties): string | undefined;
export declare const ENVIRONMENT_CONFIG_TOKEN: InjectionToken<BuildTimeProperties>;
/**
 * @deprecated Will be removed in v14.
 */
export declare class AppServerRoutingModule {
    /**
     * Injects the APP_BASE_HREF with a custom factory
     * @param config The application environment configuration
     * @deprecated Please use {@link provideEnvironment} instead. Will be removed in v14.
     */
    static forRoot(config: Partial<BuildTimeProperties>): ModuleWithProviders<AppServerRoutingModule>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppServerRoutingModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AppServerRoutingModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AppServerRoutingModule>;
}
type EnvironmentFeatureKind = 'base-href';
interface EnvironmentFeature<FeatureKind extends EnvironmentFeatureKind> {
    ɵkind: FeatureKind;
    ɵproviders: Provider[];
}
type BaseHrefFeature = EnvironmentFeature<'base-href'>;
type EnvironmentFeatures = BaseHrefFeature;
/**
 * Specify a custom base href
 * @param baseHref
 */
export declare function withBaseHref<T extends string | undefined>(baseHref: T | ((environmentConfig: BuildTimeProperties) => T)): EnvironmentFeatures;
/**
 * Provide environment configuration
 * @note it will also provide APP_BASE_HREF based on the environment configuration
 * @param config
 * @param features
 */
export declare function provideEnvironment(config: Partial<BuildTimeProperties>, ...features: EnvironmentFeatures[]): import("@angular/core").EnvironmentProviders;
export {};
//# sourceMappingURL=app-server-routing.module.d.ts.map