import { ScType, ScAddr } from './sc_types'; export declare type ResolveIdtfMap = { [id: string]: ScAddr; }; declare type CallbackFunc = () => void; declare type ScEventCallbackFunc = (elAddr: ScAddr, edge: ScAddr, other: ScAddr) => void; export declare type ScTemplateGenParams = { [id: string]: ScAddr; }; export interface ScIdtfResolveParams { idtf: string; type: ScType; } export declare enum ScEventType { Unknown = "unknown", AddOutgoingEdge = "add_outgoing_edge", AddIngoingEdge = "add_ingoing_edge", RemoveOutgoingEdge = "remove_outgoing_edge", RemoveIngoingEdge = "remove_ingoing_edge", RemoveElement = "delete_element", ChangeContent = "content_change" } export declare class ScEventParams { private _addr; private _type; private _callback; constructor(_addr: ScAddr, _type: ScEventType, _callback: ScEventCallbackFunc); get addr(): ScAddr; get type(): ScEventType; get callback(): ScEventCallbackFunc; } export declare class ScEvent { private _id; private _type; private _callback; constructor(_id: number, _type: ScEventType, _callback: ScEventCallbackFunc); get id(): number; get type(): string; get callback(): ScEventCallbackFunc; IsValid(): boolean; } declare type ScTemplateParamValue = string | ScAddr | ScType; declare type ScTemplateParam = ScTemplateParamValue[] | ScTemplateParamValue; interface ScTemplateValue { value: ScTemplateParamValue; alias: string; } interface ScTemplateTriple { source: ScTemplateValue; edge: ScTemplateValue; target: ScTemplateValue; } export declare class ScTemplate { private _triples; ForEachSearchTriple(callback: (triple: ScTemplateTriple) => void): void; Triple(param1: ScTemplateParam, param2: ScTemplateParam, param3: ScTemplateParam): ScTemplate; TripleWithRelation(param1: ScTemplateParam, param2: ScTemplateParam, param3: ScTemplateParam, param4: ScTemplateParam, param5: ScTemplateParam): ScTemplate; private SplitTemplateParam; } declare class ScConstructionCommand { private _elType; private _data; constructor(elType: ScType, data?: any); get type(): ScType; get data(): any; } export declare enum ScLinkContentType { Int = 0, Float = 1, String = 2, Binary = 3 } export declare class ScLinkContent { private _data; private _type; private _addr; constructor(data: string | number, type: ScLinkContentType, addr?: ScAddr); get data(): string | number; get type(): ScLinkContentType; get addr(): ScAddr; TypeToStr(): "string" | "binary" | "float" | "int"; } export declare class ScConstruction { private _commands; private _aliases; constructor(); CreateNode(type: ScType, alias?: string): void; CreateEdge(type: ScType, src: string | ScAddr, trg: string | ScAddr, alias?: string): void; CreateLink(type: ScType, content: ScLinkContent, alias?: string): void; get commands(): ScConstructionCommand[]; GetIndex(alias: string): any; } declare type ScValueIndex = { [id: string]: number; }; declare type ScTripleCallback = (src: ScAddr, edge: ScAddr, trg: ScAddr) => void; export declare class ScTemplateResult { private _addrs; private _indecies; constructor(indecies: ScValueIndex, addrs: ScAddr[]); get size(): number; Get(aliasOrIndex: string | number): ScAddr; ForEachTriple(func: ScTripleCallback): void; } export declare type ScTemplateSearchResult = ScTemplateResult[]; export declare type ScTemplateGenerateResult = ScTemplateResult; export declare class ScNet { private _eventID; private _url; private _socket; private _callbacks; private _events; constructor(wsURL: any, onConnect: CallbackFunc, onDisconnect: CallbackFunc, onError: CallbackFunc); private onMessage; private sendMessage; CheckElements(addrs: ScAddr[]): Promise; CreateElements(constr: ScConstruction): Promise; DeleteElements(addrs: ScAddr[]): Promise; SetLinkContents(contents: ScLinkContent[]): Promise; GetLinkContents(addrs: ScAddr[]): Promise; ResolveKeynodes(params: ScIdtfResolveParams[]): Promise; private ProcessTripleItem; TemplateSearch(templ: ScTemplate | string): Promise; TemplateGenerate(templ: ScTemplate | string, params: ScTemplateGenParams): Promise; /** * Create specified ScEvent */ EventsCreate(events: ScEventParams[]): Promise; /** * Destroy specified event */ EventsDestroy(events: ScEvent[]): Promise; } export {};