export declare const ALGO_RETURN_TYPE: {
    ALGO_RETURN_REALTIME: number;
    ALGO_RETURN_WRITE_BACK: number;
    ALGO_RETURN_VISUALIZATION: number;
};
export declare const ALGO_RESULT: {
    ALGO_RESULT_UNSET: number;
    WRITE_TO_FILE: number;
    WRITE_TO_DB: number;
    WRITE_TO_CLIENT: number;
    WRITE_TO_VISUALIZATION: number;
};
export declare namespace AlgoParams {
    interface dv {
        algo_name: string;
        id: string;
        top: number;
        total: number;
    }
    interface base {
        write_back?: boolean;
        visualization?: boolean;
        force?: boolean;
        exec_task?: boolean;
        stats?: boolean;
        write_file?: object;
        write_db?: object;
        stream?: object | boolean;
    }
    interface louvainDVRequest {
        nodeNum: number;
        communityNum: number;
    }
    /**
     * k_core
     * @params {number} k size_t,required
     */
    interface k_core extends base {
        k: number;
    }
    /**
     * node2vec
     * @params {number} walk_num size_t,required
     * @params {number} walk_length size_t,required
     * @params {number} window_size size_t,required
     * @params {number} p float,required
     * @params {number} q float,required
     * @params {string} edge_schema_name optional
     * @params {string} edge_property_name optional
     * @params {number} dimension size_t,required
     * @params {number} learning_rate float,required
     * @params {number} min_learning_rate float,required
     * @params {number} min_frequency size_t,required
     * @params {number} sub_sample_alpha float,required
     * @params {number} resolution size_t,required
     * @params {number} neg_num size_t,required
     * @params {number} loop_num size_t,required
     * @params {string} buffer_size -1 for all paths
     * @params {number} limit -1 for all nodes in sample paths
     */
    interface node2vec extends base {
        walk_num: number;
        walk_length: number;
        window_size: number;
        p: number;
        q: number;
        edge_schema_name?: string;
        edge_property_name?: string;
        dimension: number;
        learning_rate: number;
        min_learning_rate: number;
        min_frequency: number;
        sub_sample_alpha: number;
        resolution: number;
        neg_num: number;
        loop_num: number;
        buffer_size?: string;
        limit?: number;
    }
    /**
     * hyperANF
     * @params {number} loop_num size_t,required
     * @params {number} register_num size_t,required,This value must be in the range[4,30].Default value is 10
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface hyperANF extends base {
        loop_num: number;
        register_num: number;
        me?: string;
    }
    /**
     * k_means
     * @params {number} k size_t,required
     * @params {string} start_ids array of nodes,required
     * @params {string} node_schema_name node schema,required
     * @params {string} node_property_names node attributes,required
     * @params {number} distance_type size_t,required,1:Euclidean distance( 欧几里得距离)  2:cosine similarity
     * @params {number} loop_num size_t,required
     */
    interface k_means extends base {
        k: number;
        start_ids: string;
        node_schema_name: string;
        node_property_names: string;
        distance_type: number;
        loop_num: number;
    }
    /**
     * graph_centrality
     * @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
     * @params {number} limit -1 for all results
     * @params {string} order optional,ASC or DESC
     */
    interface graph_centrality extends base {
        ids?: number[] | string;
        limit?: number;
        order?: string;
    }
    /**
     * jaccard
     * @params {number[] | string} ids string can be uql string, required
     * @params {string} ids2 optional
     * @params {number} limit -1 for all result
     * @params {string} order optional,ASC or DESC, only valid for pair mode
     * @params {string} duplicate optional,1:duplicate, 2(default):deduplicate
     */
    interface jaccard extends base {
        ids: number[] | string;
        ids2?: number[] | string;
        limit?: number;
        order?: string;
        duplicate?: string;
    }
    /**
     * GraphSAGE
     * @params {string} dimension int,required
     * @params {number} normalizationStrength float,optional, 0 as default
     * @params {number} iterationWeights float[],optional,[0.0,1.0,1.0] as default
     * @params {string} edge_schema_name for weighted random projection,optional
     * @params {string} edge_property_name edge attribute, for weighted random projection,optional
     * @params {string} propertyDimension int,optional, maximum value is dimension
     * @params {string} node_schema_name optional
     * @params {string} node_property_names array of node attributes,optional
     */
    interface GraphSAGE extends base {
        dimension: string;
        normalizationStrength?: number;
        iterationWeights?: number;
        edge_schema_name?: string;
        edge_property_name?: string;
        propertyDimension?: string;
        node_schema_name?: string;
        node_property_names?: string;
    }
    /**
     * clustering_coefficient
     * @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
     * @params {number} limit -1 for all results
     * @params {string} order optional,ASC or DESC
     */
    interface clustering_coefficient extends base {
        ids?: number[] | string;
        limit?: number;
        order?: string;
    }
    /**
     * fastRP
     * @params {string} dimension int,required
     * @params {number} normalizationStrength float,optional, 0 as default
     * @params {number} iterationWeights float[],optional,[0.0,1.0,1.0] as default
     * @params {string} edge_schema_name for weighted random projection,optional
     * @params {string} edge_property_name edge attribute, for weighted random projection,optional
     * @params {string} propertyDimension int,optional, maximum value is dimension
     * @params {string} node_schema_name optional
     * @params {string} node_property_names array of node attributes,optional
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface fastRP extends base {
        dimension: string;
        normalizationStrength?: number;
        iterationWeights?: number;
        edge_schema_name?: string;
        edge_property_name?: string;
        propertyDimension?: string;
        node_schema_name?: string;
        node_property_names?: string;
        me?: string;
    }
    /**
     * degree
     * @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
     * @params {string} edge_schema_name optinal
     * @params {string} edge_property_name optinal
     * @params {number} limit -1 for all results
     * @params {string} order optional,ASC or DESC
     * @params {string} direction string,optinal, left or right, bi-direction if absent
     */
    interface degree extends base {
        ids?: number[] | string;
        edge_schema_name?: string;
        edge_property_name?: string;
        limit?: number;
        order?: string;
        direction?: string;
    }
    /**
     * cosine_similarity
     * @params {number[] | string} ids string can be uql string, required
     * @params {string} ids2 required
     * @params {string} node_schema_name required
     * @params {string} node_property_names array of node_attributes,required
     * @params {string} type optional, 1.(default)normal number, 2.for huge number
     * @params {number} limit optional,-1 for all result
     * @params {string} order optional,ASC or DESC
     */
    interface cosine_similarity extends base {
        ids: number[] | string;
        ids2: string;
        node_schema_name: string;
        node_property_names: string;
        type?: string;
        limit?: number;
        order?: string;
    }
    /**
     * common_neighbours
     * @params {number[] | string} ids string can be uql string, required
     * @params {string} ids2 required
     * @params {string} type optional, 1.(default)only number, 2.ids
     * @params {number} limit optional,-1 for all result
     * @params {string} order optional,ASC or DESC
     */
    interface common_neighbours extends base {
        ids: number[] | string;
        ids2: string;
        type?: string;
        limit?: number;
        order?: string;
    }
    /**
     * triangle_counting
     * @params {string} type 1:count by edge  2:count by node
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     * @params {number} limit -1 for total_num, otherwise for n triples
     */
    interface triangle_counting extends base {
        type?: string;
        me?: string;
        limit?: number;
    }
    /**
     * betweenness_centrality
     * @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
     * @params {number} limit -1 for all
     * @params {string} sample_size optional, -1 for log(total_node_num), -2 for not sampling(most accurate)
     * @params {string} order optional,ASC or DESC
     */
    interface betweenness_centrality extends base {
        ids?: number[] | string;
        limit?: number;
        sample_size?: string;
        order?: string;
    }
    /**
     * adamic_adar
     */
    interface adamic_adar extends base {
    }
    /**
     * bipartite
     */
    interface bipartite extends base {
    }
    /**
     * hanp
     * @params {number} loop_num size_t,required
     * @params {string} node_schema_name required
     * @params {string} node_property_name required
     * @params {string} edge_schema_name required
     * @params {string} edge_property_name required
     * @params {number} m float,required
     * @params {number} delta float,required
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface hanp extends base {
        loop_num: number;
        node_schema_name: string;
        node_property_name: string;
        edge_schema_name: string;
        edge_property_name: string;
        m: number;
        delta: number;
        me?: string;
    }
    /**
     * closeness_centrality
     * @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
     * @params {number} limit -1 for all results
     * @params {string} direction string,optinal, left or right, bi-direction if absent
     * @params {string} sample_size optional, -1 for log(total_node_num), -2 for not sampling(most accurate)
     * @params {string} order optional,ASC or DESC
     */
    interface closeness_centrality extends base {
        ids?: number[] | string;
        limit?: number;
        direction?: string;
        sample_size?: string;
        order?: string;
    }
    /**
     * connected_component
     * @params {string} cc_type 1:wcc , 2:scc
     */
    interface connected_component extends base {
        cc_type?: string;
    }
    /**
     * khop_all
     * @params {number} depth size_t,required
     * @params {string} direction string,optinal, left or right, bi-direction if absent
     * @params {number} type size_t,optinal, 1)ids 2)(default)only number
     */
    interface khop_all extends base {
        depth: number;
        direction?: string;
        type?: number;
    }
    /**
     * variable_compute
     * @params {number[] | string} ids string can be uql string, nodes
     * @params {string} type in(1) / out(1)in(1) - out(1)out(1) - avg(out(1))out(1) / avg(out(1))out(2) - in(2)sum(pow(in(1) - out(1),2) / count())sum(pow(in(1) - out(1),2) / (count() - 1))sqrt(sum(pow(in(1) - out(1),2) / count()))sqrt(sum(pow(in(1) - out(1),2) / (count() - 1)))
     * @params {number} limit -1 for all nodes
     */
    interface variable_compute extends base {
        ids?: number[] | string;
        type?: string;
        limit?: number;
    }
    /**
     * knn
     * @params {string} node_id required
     * @params {string} node_schema_name required
     * @params {string} node_property_names node attrs,required
     * @params {number} top_k size_t,required
     * @params {string} target_property_name required
     */
    interface knn extends base {
        node_id: string;
        node_schema_name: string;
        node_property_names: string;
        top_k: number;
        target_property_name: string;
    }
    /**
     * line
     * @params {string} edge_schema_name required
     * @params {string} edge_property_name required
     * @params {number} dimension size_t,required
     * @params {number} resolution size_t,required
     * @params {number} start_alpha float,required
     * @params {number} neg_num size_t,required
     * @params {number} total_sample size_t,required
     * @params {number} train_order size_t,required,1 or 2
     */
    interface line extends base {
        edge_schema_name: string;
        edge_property_name: string;
        dimension: number;
        resolution: number;
        start_alpha: number;
        neg_num: number;
        total_sample: number;
        train_order: number;
    }
    /**
     * louvain
     * @params {string} edge_schema_name optinal
     * @params {string} edge_property_name optinal,default 1 for each edge if absent
     * @params {number} phase1_loop_num size_t,required
     * @params {number} min_modularity_increase float,required
     */
    interface louvain extends base {
        edge_schema_name?: string;
        edge_property_name?: string;
        phase1_loop_num: number;
        min_modularity_increase: number;
    }
    /**
     * lpa
     * @params {number} loop_num size_t,required
     * @params {string} node_schema_name optional
     * @params {string} node_property_name optional
     * @params {string} node_weight_name optional
     * @params {string} edge_schema_name optional
     * @params {string} edge_weight_name optional
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface lpa extends base {
        loop_num: number;
        node_schema_name?: string;
        node_property_name?: string;
        node_weight_name?: string;
        edge_schema_name?: string;
        edge_weight_name?: string;
        me?: string;
    }
    /**
     * mst
     * @params {number[] | string} ids string can be uql string, required
     * @params {string} edge_schema_name required
     * @params {string} edge_property_name required
     * @params {number} limit -1 for all
     */
    interface mst extends base {
        ids: number[] | string;
        edge_schema_name: string;
        edge_property_name: string;
        limit?: number;
    }
    /**
     * random_walk_node2vec
     * @params {number} walk_length size_t,required
     * @params {number} walk_num size_t,required
     * @params {number} p float,required
     * @params {number} q float,required
     * @params {string} edge_schema_name optional
     * @params {string} edge_property_name optional
     * @params {string} buffer_size -1 for all paths
     */
    interface random_walk_node2vec extends base {
        walk_length: number;
        walk_num: number;
        p: number;
        q: number;
        edge_schema_name?: string;
        edge_property_name?: string;
        buffer_size?: string;
    }
    /**
     * page_rank
     * @params {number} init_value float,optional
     * @params {number} loop_num size_t,required
     * @params {number} damping float,required
     * @params {string} weaken optional,1(default) not weaken, 2 weaken with average number of links going out of all pages (see ArticleRank)
     * @params {number} limit -1 for all nodes
     * @params {string} order ASC or DESC
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface page_rank extends base {
        init_value?: number;
        loop_num: number;
        damping: number;
        weaken?: string;
        limit?: number;
        order?: string;
        me?: string;
    }
    /**
     * random_walk
     * @params {number} walk_length size_t,required
     * @params {number} walk_num size_t,required
     * @params {string} edge_schema_name optional
     * @params {string} edge_property_name optional,default 1 if absent
     * @params {number[] | string} ids string can be uql string, nodes
     * @params {number} limit -1 for all nodes
     */
    interface random_walk extends base {
        walk_length: number;
        walk_num: number;
        edge_schema_name?: string;
        edge_property_name?: string;
        ids?: number[] | string;
        limit?: number;
    }
    /**
     * struc2vec
     * @params {number} walk_num size_t,required
     * @params {number} walk_length size_t,required
     * @params {number} k size_t,required
     * @params {number} stay_probability float,required
     * @params {number} window_size size_t,required
     * @params {number} dimension size_t,required
     * @params {number} learning_rate float,required
     * @params {number} min_learning_rate float,required
     * @params {number} min_frequency size_t,required
     * @params {number} sub_sample_alpha float,required
     * @params {number} resolution size_t,required
     * @params {number} neg_num size_t,required
     * @params {number} loop_num size_t,required
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface struc2vec extends base {
        walk_num: number;
        walk_length: number;
        k: number;
        stay_probability: number;
        window_size: number;
        dimension: number;
        learning_rate: number;
        min_learning_rate: number;
        min_frequency: number;
        sub_sample_alpha: number;
        resolution: number;
        neg_num: number;
        loop_num: number;
        me?: string;
    }
    /**
     * random_walk_struc2vec
     * @params {number} walk_length size_t,required
     * @params {number} walk_num size_t,required
     * @params {number} k size_t,required
     * @params {number} stay_probability float,required
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface random_walk_struc2vec extends base {
        walk_length: number;
        walk_num: number;
        k: number;
        stay_probability: number;
        me?: string;
    }
    /**
     * subgraph
     * @params {number[] | string} ids string can be uql string, array of nodes,required
     */
    interface subgraph extends base {
        ids: number[] | string;
    }
    /**
     * sybil_rank
     * @params {number} total_trust float,required
     * @params {string} trust_seeds array of nodes,required
     * @params {number} loop_num size_t,required
     * @params {number} sybil_num size_t,required
     * @params {string} me optional : 1(default):few edges between nodes  2:massive edges between nodes
     */
    interface sybil_rank extends base {
        total_trust: number;
        trust_seeds: string;
        loop_num: number;
        sybil_num: number;
        me?: string;
    }
}
