import { Observable } from 'rxjs';
import { ApiConfig } from './types';
export declare abstract class ODataConfigLoader {
    abstract loadConfigs(): Observable<ApiConfig[]>;
}
export declare class ODataConfigSyncLoader implements ODataConfigLoader {
    private readonly passedConfigs;
    constructor(passedConfigs: ApiConfig | ApiConfig[]);
    loadConfigs(): Observable<ApiConfig[]>;
}
export declare class ODataConfigAsyncLoader implements ODataConfigLoader {
    private readonly configs$;
    constructor(configs$: Observable<ApiConfig>[] | Observable<ApiConfig | ApiConfig[]>);
    loadConfigs(): Observable<ApiConfig[]>;
}
export declare class ODataMetadataLoader implements ODataConfigLoader {
    private readonly sources$;
    private readonly baseConfigs;
    constructor(sources$: Observable<string | string[]>, baseConfigs: ApiConfig | ApiConfig[]);
    loadConfigs(): Observable<ApiConfig[]>;
}
