import { AbstractRef, IBuildOptions, IClassRef, IEntityRef, ILookupRegistry, ISchemaRef, METADATA_TYPE } from '@allgemein/schema-api'; import { TaskRefType } from './Constants'; import { TaskExchangeRef } from './TaskExchangeRef'; import { ITaskRefOptions } from './ITaskRefOptions'; import { ITaskRefNodeInfo } from './ITaskRefNodeInfo'; /** * Descriptor for task functionality and location */ export declare class TaskRef extends AbstractRef implements IEntityRef { $source: any; constructor(name: string | object | Function, fn?: object | Function, options?: ITaskRefOptions); get _type(): TaskRefType; set _type(type: TaskRefType); get permissions(): string[]; set permissions(value: string[]); get description(): string; set description(value: string); get nodeInfos(): ITaskRefNodeInfo[]; set nodeInfos(nodes: ITaskRefNodeInfo[]); static getTaskName(x: string | Function | object): any; static getTaskObject(name: string | Function | object, fn: Function | object): Function; static dependsOn(src: string, dest: string, namespace?: string): void; static group(src: string, dest: string, namespace?: string): typeof TaskRef; prepare(name: string | object | Function, fn?: object | Function): void; $fn: Function | object; getFn(): any; clone(name: string): any; hasTargetNodeId(nodeId: string, withWorker?: boolean): boolean; addNodeId(nodeId: string, hasWorker?: boolean): void; removeNodeId(nodeId: string): void; hasWorker(): boolean; hasNodeIds(): boolean; isRemote(): boolean; private process; private processGroup; getType(): TaskRefType; canHaveProperties(): boolean; toJsonSchema(withProperties?: boolean): import("@allgemein/schema-api").IJsonSchema7; executable(incoming?: { [k: string]: any; }): [Function | object, any]; subtasks(): any[]; groups(): any[]; grouping(): any[]; dependencies(): string[]; dependsOn(dest: string): this; group(name: string): this; id(): string; build(instance: any, options?: IBuildOptions): T; create(): T; isOf(instance: any): boolean; getPropertyRef(name: string): TaskExchangeRef; getPropertyRefs(): TaskExchangeRef[]; getIncomings(): TaskExchangeRef[]; getOutgoings(): TaskExchangeRef[]; getRuntime(): TaskExchangeRef; /** * Return a class ref for passing string, Function or class ref * * @param object * @param type */ getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef; /** * TODO implement * @param object * @param type */ getRegistry(): ILookupRegistry; /** * Not ne * @param object * @param type */ getSchemaRefs(): ISchemaRef[]; }