import { IPayloadFilt, Payload } from "./Payload";
import { Tuple } from "./exports";
import { Observable } from "rxjs";
import { PayloadEndpoint } from "./PayloadEndpoint";
import { IFilterUpdateCallable, TupleLoader } from "./TupleLoader";
import { PayloadEnvelope } from "./PayloadEnvelope";
import { NgLifeCycleEvents } from "../util/NgLifeCycleEvents";
import * as i0 from "@angular/core";
export declare class VortexService {
    private vortexStatusService;
    private vortex;
    private static vortexUrl;
    private static vortexClientName;
    constructor(vortexStatusService: any);
    /**
     * Set Vortex URL
     *
     * This method should not be used except in rare cases, such as an ios or android app.
     *
     * @param url: The new URL for the vortex to use.
     */
    static setVortexUrl(url: string | null): void;
    /**
     * Set Vortex Name
     *
     * @param vortexClientName: The vortexClientName to tell the server that we are.
     */
    static setVortexClientName(vortexClientName: string): void;
    reconnect(): Promise<void>;
    sendTuple(filt: IPayloadFilt | string, tuples: any[] | Tuple[]): void;
    sendFilt(filt: any): void;
    /** Send Payload
     *
     * @param {Payload[] | Payload} payload
     * @returns {Promise<void>}
     */
    sendPayload(payload: Payload[] | Payload): Promise<void>;
    /** Send Payload Envelope(s)
     *
     * @param {PayloadEnvelope[] | PayloadEnvelope} payloadEnvelope
     * @returns {Promise<void>}
     */
    sendPayloadEnvelope(payloadEnvelope: PayloadEnvelope[] | PayloadEnvelope): Promise<void>;
    createEndpointObservable(component: NgLifeCycleEvents, filter: IPayloadFilt, processLatestOnly?: boolean): Observable<PayloadEnvelope>;
    createEndpoint(component: NgLifeCycleEvents, filter: IPayloadFilt, processLatestOnly?: boolean): PayloadEndpoint;
    createTupleLoader(component: NgLifeCycleEvents, filterUpdateCallable: IFilterUpdateCallable | IPayloadFilt): TupleLoader;
    static ɵfac: i0.ɵɵFactoryDeclaration<VortexService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<VortexService>;
}
