import { UqlReply, Status, ResultAlias, NodeAlias, EntityTable, EdgeAlias, Path, PathAlias, AttrAlias, Table, GraphAlias, Graph, Value, Schema, Property, ExplainPlan, Attr } from "../proto/ultipa_pb";
import { ULTIPA, ResponseType } from "../types";
export declare const mergeUqlResponse: (res1: ULTIPA.UQLBaseResponse, res2: ULTIPA.UQLBaseResponse) => ULTIPA.UQLBaseResponse;
export declare const FormatType: {
    uqlResponse: (res: UqlReply, timeZone: ULTIPA.TimeZone) => ULTIPA.UQLBaseResponse;
    status: (statusData: Status, p?: {
        host: string;
    }) => ULTIPA.Status;
    keyValue: (keyValuesData: Value[]) => object;
    graph: (graph: Graph, timeZone: ULTIPA.TimeZone) => ULTIPA.Graph;
    paths: (paths: Path[], timeZone: ULTIPA.TimeZone) => ULTIPA.Paths;
    pathAliases: (pathsData: PathAlias[], timeZone: ULTIPA.TimeZone) => ULTIPA.PathAlias[];
    graphAliases: (graphDatas: GraphAlias[], timeZone: ULTIPA.TimeZone) => ULTIPA.GraphAlias[];
    explainPlan: (data: ExplainPlan) => ULTIPA.ExplainPlan;
    table: (tableData: Table, timeZone: ULTIPA.TimeZone) => ULTIPA.Table;
    tables: (tablesData: Table[], timeZone: ULTIPA.TimeZone) => ULTIPA.Table[];
    resultAliases: (resultAliases: ResultAlias[]) => ULTIPA.ResultAliases;
    nodeAliases: (nodesListData: NodeAlias[], timeZone: ULTIPA.TimeZone) => ULTIPA.NodeAlias[];
    edgeAliases: (edgesListData: EdgeAlias[], timeZone: ULTIPA.TimeZone) => ULTIPA.EdgeAlias[];
    toEdgeTable: (propertyTypeObject: object, schemaName: string, headers: string[], rows: string[][], timeZone: ULTIPA.TimeZone) => EntityTable;
    toPropertyTypeObject: (properties: ResponseType.Property[]) => {};
    toNodeTable: (propertyTypeObject: object, schemaName: string, headers: string[], rows: string[][], timeZone: ULTIPA.TimeZone) => EntityTable;
    toEdgeTableWithSchema: (schema: ULTIPA.Schema, rows: ULTIPA.Edge[], timeZone: ULTIPA.TimeZone) => EntityTable;
    toNodeTableWithSchema: (schema: ULTIPA.Schema, rows: ULTIPA.Node[], timeZone: ULTIPA.TimeZone) => EntityTable;
    nodeTable: (nodeTableData: EntityTable, timeZone: ULTIPA.TimeZone) => ULTIPA.NodeTable;
    edgeTable: (edgeTableData: EntityTable, timeZone: ULTIPA.TimeZone) => ULTIPA.EdgeTable;
    attr(attr: Attr, timeZone: ULTIPA.TimeZone): ULTIPA.Attr;
    attrAliases: (attrAliasesData: AttrAlias[], timeZone: ULTIPA.TimeZone) => ULTIPA.AttrNewAlias[];
};
export interface ResponseKeyFormat {
    jsonKeys?: string[];
    boolKeys?: string[];
    keyReplace?: object;
    dataFormat?: Function;
    mockData?: {
        tables?: any[];
    };
}
export declare const FormatResponse: {
    tableToArray: (table: ULTIPA.Table) => any[];
    formatObjects: (objs: object[], keysFormat?: ResponseKeyFormat) => any[];
    formatObject: (_obj: object, keysFormat?: ResponseKeyFormat) => {};
    successStatus: () => ULTIPA.Status;
    statisticsSum: (one?: ULTIPA.Statistics, sumOne?: ULTIPA.Statistics) => ULTIPA.Statistics;
    unknownError: (err: any, res: ULTIPA.Response<any>) => ULTIPA.Response<any>;
    catchUltipaUqlError: (error: Error) => any;
};
