import { InjectionToken } from '../../fslinker';
declare type OrToken = {
[K in keyof A]: A[K] | InjectionToken;
};
export declare const getDependency: (token: InjectionToken) => T | undefined, overlayDependency: (token: InjectionToken, value: T | undefined) => void, overlayFactory: (token: InjectionToken, factory: (...deps: D) => T | Promise, tokensDeps: OrToken) => void, provideDependency: (token: InjectionToken, value: T) => void, provideFactory: (token: InjectionToken, factory: (...deps: D) => T | Promise, tokensDeps: OrToken) => void, requireDependency: (token: InjectionToken) => T;
export declare const createVersionedProvider: (version: string) => {
requireDependency: (token: InjectionToken) => T;
provideDependency: (token: InjectionToken, value: T_1) => void;
overlayDependency: (token: InjectionToken, value: T_2 | undefined) => void;
provideFactory: (token: InjectionToken, factory: (...deps: D) => T_3 | Promise, tokensDeps: OrToken) => void;
getDependency: (token: InjectionToken) => T_4 | undefined;
overlayFactory: (token: InjectionToken, factory: (...deps: D_1) => T_5 | Promise, tokensDeps: OrToken) => void;
};
export {};