export interface Target {
    path: string;
    name: string;
    subTargets: SubTarget[];
}
export interface SubTarget {
    type: TargetType;
    id: string;
}
export interface FunctionTarget extends SubTarget {
    type: TargetType.FUNCTION;
    name: string;
}
export interface ClassTarget extends SubTarget {
    type: TargetType.CLASS;
    name: string;
}
export interface MethodTarget extends SubTarget {
    type: TargetType.METHOD;
    className: string;
    name: string;
}
export interface ObjectTarget extends SubTarget {
    type: TargetType.OBJECT;
    name: string;
}
export interface ObjectFunctionTarget extends SubTarget {
    type: TargetType.OBJECT_FUNCTION;
    objectName: string;
    name: string;
}
export interface PathTarget extends SubTarget {
    type: TargetType.PATH;
    ids: string[];
}
export interface BranchTarget extends SubTarget {
    type: TargetType.BRANCH;
}
export interface LineTarget extends SubTarget {
    type: TargetType.LINE;
    line: number;
}
export declare enum TargetType {
    FUNCTION = "function",
    CLASS = "class",
    METHOD = "method",
    OBJECT = "object",
    OBJECT_FUNCTION = "object-function",
    PATH = "path",
    BRANCH = "branch",
    LINE = "line"
}
//# sourceMappingURL=Target.d.ts.map