import { UltipaTransactionRecorder } from "./UltipaTransaction.Recorder";
import { ConnectionFinal } from "../connection/connection.final";
import { UltipaTransaction } from "./UltipaTransaction";
import { RequestType, ULTIPA } from "../types";
import RequestConfig = RequestType.RequestConfig;
export declare class UltipaSession {
    recorder: UltipaTransactionRecorder;
    txn: UltipaTransaction;
    id: string;
    conn: ConnectionFinal;
    onError?: (Msg: string) => void;
    constructor(conn: ConnectionFinal, txn: UltipaTransaction);
    uql(uql: string, requestConfig?: RequestConfig): Promise<ULTIPA.UQLResponse>;
    insertNodes(nodes: ULTIPA.Node[]): Promise<ULTIPA.Response<import("../types").ResponseType.InsertNodes>>;
    insertEdges(edges: ULTIPA.Edge[]): Promise<ULTIPA.Response<import("../types").ResponseType.InsertEdges>>;
    deleteNodes(filter: string): Promise<ULTIPA.UQLResponse>;
    deleteEdges(filter: string): Promise<ULTIPA.UQLResponse>;
    /**
     * @param filter "age > 10"
     * @param value "{time: "1999-01-01 12:12:00", age: 10}"
     */
    updateNodes(filter: string, value: string): Promise<ULTIPA.UQLResponse>;
    updateEdges(filter: string, value: string): Promise<ULTIPA.UQLResponse>;
    rollback(msg?: string): Promise<void>;
    commit(): Promise<void>;
    close(): Promise<void>;
    throwError(msg: string, rollback?: boolean): Promise<void>;
}
