import { Type } from '../types';
export declare function isType(v: any): v is Type<any>;
export interface AbstractType<T> extends Function {
    prototype: T;
}
export declare enum InjectFlags {
    Default = 0,
    Self = 1,
    SkipSelf = 2,
    Optional = 4
}
export declare const enum OptionFlags {
    Optional = 1,
    CheckSelf = 2,
    CheckParent = 4,
    Default = 6
}
export interface DependencyRecord {
    token: any;
    options: number;
}
export interface Record {
    fn: Function;
    useNew: boolean;
    deps: DependencyRecord[];
    value: any;
}
