import { AppConfig } from '@backstage/config';
/**
 * @public
 * @deprecated Use {@link ConfigSources.default} instead.
 */
export type ConfigTarget = {
    path: string;
} | {
    url: string;
};
/**
 * @public
 * @deprecated Use {@link ConfigSources.default} instead.
 */
export type LoadConfigOptionsWatch = {
    /**
     * A listener that is called when a config file is changed.
     */
    onChange: (configs: AppConfig[]) => void;
    /**
     * An optional signal that stops the watcher once the promise resolves.
     */
    stopSignal?: Promise<void>;
};
/**
 * @public
 * @deprecated Use {@link ConfigSources.default} instead.
 */
export type LoadConfigOptionsRemote = {
    /**
     * A remote config reloading period, in seconds
     */
    reloadIntervalSeconds: number;
};
/**
 * Options that control the loading of configuration files in the backend.
 *
 * @public
 * @deprecated Use {@link ConfigSources.default} instead.
 */
export type LoadConfigOptions = {
    configRoot: string;
    configTargets: ConfigTarget[];
    /**
     * Custom environment variable loading function
     *
     * @experimental This API is not stable and may change at any point
     */
    experimentalEnvFunc?: (name: string) => Promise<string | undefined>;
    /**
     * An optional remote config
     */
    remote?: LoadConfigOptionsRemote;
    /**
     * An optional configuration that enables watching of config files.
     */
    watch?: LoadConfigOptionsWatch;
};
/**
 * Results of loading configuration files.
 * @public
 * @deprecated Use {@link ConfigSources.default} instead.
 */
export type LoadConfigResult = {
    /**
     * Array of all loaded configs.
     */
    appConfigs: AppConfig[];
};
/**
 * Load configuration data.
 *
 * @public
 * @deprecated Use {@link ConfigSources.default} instead.
 */
export declare function loadConfig(options: LoadConfigOptions): Promise<LoadConfigResult>;
