import { Type } from '../types';
import { InjectFlags } from './types';
import { Injector } from './injector';
import { StaticProvider } from './providers';
import { InjectionToken } from './injection-token';
export declare const INJECTOR: InjectionToken<Injector>;
export declare const USE_VALUE: string;
export declare function setCurrentInjector(injector: Injector | null | undefined): Injector | undefined | null;
export declare class StaticInjector implements Injector {
    readonly parent: Injector;
    readonly source: string | null;
    readonly scope: string | null;
    private _records;
    constructor(providers: StaticProvider[], parent?: Injector, source?: string | null);
    get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;
    get(token: any, notFoundValue?: any): any;
    toString(): string;
}
export declare const INJECTOR_SCOPE: InjectionToken<"root" | "platform">;
