import { Type } from '../types';
export interface InjectorType<T> extends Type<T> {
    ɵinj: never;
}
export interface ɵɵInjectableDef<T> {
    providedIn: InjectorType<any> | 'root' | 'platform' | 'any' | null;
    token: unknown;
    factory: (t?: Type<any>) => T;
    value: T | undefined;
}
export declare function ɵɵdefineInjectable<T>(opts: {
    token: unknown;
    providedIn?: Type<any> | 'root' | 'platform' | 'any' | null;
    factory: () => T;
}): never;
export declare const NG_PROV_DEF: string;
export declare const NG_INJ_DEF: string;
export declare const NG_INJECTABLE_DEF: string;
export declare function getOwnDefinition<T>(type: any, def: ɵɵInjectableDef<T>): ɵɵInjectableDef<T> | null;
export declare function getInjectableDef<T>(type: any): ɵɵInjectableDef<T> | null;
