import { Batch, Tip, IQueryResponse, Sid, IHeaderValue } from "./models/types";
import { Eno } from "./models/Eno";
import { Observable } from "rxjs";
import { IEnSrvOptions, IEnSrvOptionsLite } from "./IEnSrvOptions";
import { send } from "./send";
import { pull, pullSid, IPullOptions } from "./pull";
import { read, readSid, IReadOptions } from "./read";
import { locale, ILocale } from "./locale";
import { write } from "./write";
import { writeMany } from "./writeMany";
import { startProcess, IProcessOptions, IProcessResponse, getProcessStatus } from "./process";
import { evalFormula, IFormulaOptions } from "./formula";
import { execute, execute1d, execute1dWithResponseHeaders, IQueryOption } from "./query";
export declare class EnSrv {
    options: IEnSrvOptions;
    systemTimezone?: string;
    fn: {
        send: typeof send;
        pull: typeof pull;
        pullSid: typeof pullSid;
        read: typeof read;
        readSid: typeof readSid;
        locale: typeof locale;
        startProcess: typeof startProcess;
        getProcessStatus: typeof getProcessStatus;
        execute: typeof execute;
        execute1d: typeof execute1d;
        execute1dWithResponseHeaders: typeof execute1dWithResponseHeaders;
        write: typeof write;
        writeMany: typeof writeMany;
        evalFormula: typeof evalFormula;
    };
    constructor(options: IEnSrvOptions);
    isAborted(): boolean;
    send(batch: Batch, enSrvOptions?: IEnSrvOptionsLite): Observable<Batch>;
    pull(tips: Tip[], pullOptions?: IPullOptions, enSrvOptions?: IEnSrvOptionsLite): Observable<Batch>;
    pullSid(sids: Sid[], pullOptions?: IPullOptions, enSrvOptions?: IEnSrvOptionsLite): Observable<Batch>;
    read(tip: Tip, readOptions?: IReadOptions, enSrvOptions?: IEnSrvOptionsLite): Observable<Eno>;
    readSid(sid: Sid, readOptions?: IReadOptions, enSrvOptions?: IEnSrvOptionsLite): Observable<Eno>;
    locale(enSrvOptions?: IEnSrvOptionsLite): Observable<ILocale>;
    startProcess(tip: Tip, processOptions?: IProcessOptions, enSrvOptions?: IEnSrvOptionsLite): Observable<IProcessResponse>;
    getProcessStatus(processOpTip: Tip, enSrvOptions: IEnSrvOptions): Observable<IProcessResponse>;
    evalFormula(formulaStr: string, formulaOptions?: IFormulaOptions, enSrvOptions?: IEnSrvOptionsLite): Observable<string[]>;
    executeQuery(queryTip: Tip, queryOptions?: IQueryOption, timeoutMs?: number, enSrvOptions?: IEnSrvOptionsLite): Observable<IQueryResponse>;
    executeQuery1d<T>(queryTip: Tip, queryOptions?: IQueryOption, timeoutMs?: number, enSrvOptions?: IEnSrvOptionsLite): Observable<T[]>;
    executeQuery1dWithResponseHeader<T>(queryTip: Tip, queryOptions?: IQueryOption, timeoutMs?: number, enSrvOptions?: IEnSrvOptionsLite): Observable<T[] | {
        results: T[];
        responseHeaders: IHeaderValue[];
    }>;
    write(eno: Eno, enSrvOptions?: IEnSrvOptionsLite): Observable<any>;
    writeMany(enos: Eno[], enSrvOptions?: IEnSrvOptionsLite): Observable<any>;
}
