import { PushClientOptions } from "./models/PushClientOptions"; import { SubscribeRequest } from "./models/requests/SubscribeRequest"; import { UnsubscribeRequest } from "./models/requests/UnsubscribeRequest"; import { PublishRequest } from "./models/requests/PublishRequest"; import { ConnectorMap, IConnector } from "./connectors/IConnector"; import { PushServerResponse } from "./models/PushServerResponse"; import { CallbackClientEventReceiver } from "./models/callbacks/ClientEventReceiver"; import { EventPool } from "./pools/EventPool"; import { SyncService } from "./services/SyncService"; import { PullRequest } from "./models/requests/PullRequest"; import { CountRequest } from "./models/requests/CountRequest"; import { CallbackNetworkStatusListener } from "./models/callbacks/NetworkStatusListener"; /** * @class */ export declare class PushClient { /** * push client options */ protected options: PushClientOptions; /** * event pool */ eventPool: EventPool; /** * services */ protected syncService: SyncService; /** * connectors */ protected connectorMap: ConnectorMap; protected currentConnector: IConnector; /** * @param options {PushClientOptions} */ constructor(options: PushClientOptions); /** * wait until the client connected to server successfully * * @implements * @param timeout {number} timeout in milliseconds * @returns {Promise< void >} */ waitUntilConnected(timeout: number): Promise; /** * close the connection to server */ close(): void; /** * set up a callback function to listen for the network status changes * * @param callback {CallbackNetworkStatusListener} * @returns { void } */ setNetworkStatusListener(callback: CallbackNetworkStatusListener): void; /** * publish * * @param publishRequest {PublishRequest} * @returns {Promise} */ publish(publishRequest: PublishRequest): Promise; /** * start listening * * @param subscribeRequest {SubscribeRequest} * @param callback {CallbackClientEventReceiver} * @returns {Promise} */ subscribe(subscribeRequest: SubscribeRequest, callback: CallbackClientEventReceiver): Promise; /** * stop listening * * @param unsubscribeRequest {UnsubscribeRequest} * @returns {Promise} */ unsubscribe(unsubscribeRequest: UnsubscribeRequest): Promise; /** * pull * * @param pullRequest {PullRequest} * @returns {Promise} */ pull(pullRequest: PullRequest): Promise; /** * count * * @param countRequest {CountRequest} * @returns {Promise} */ count(countRequest: CountRequest): Promise; /** * optimize options * @param options {PushClientOptions} * @returns {PushClientOptions} * @private */ private optimizeOptions; } //# sourceMappingURL=PushClient.d.ts.map