import type { Subscription as ObservableSubscription } from 'rxjs'; import type { ErrorPayload, OnDataCallback, OnErrorCallback, OnCancelCallback, OnStartCallback, OnCompleteCallback, RequestParams, SearchData, LastSubscriptionState, OnResumeCallback, OnPauseCallback, OnFinalizeCallback, SearchControlAction } from '@splunk/dashboard-types'; import type DataSourceController from './DataSourceController'; /** * A DataSource subscription * This represent a DataSource -- Consumer binding. * Be aware that the binding can be n to n. */ declare class Subscription { consumerId: string; dataSource: DataSourceController; requestParams?: RequestParams; lastState: LastSubscriptionState; sub: ObservableSubscription | null; cancelCallback?: OnCancelCallback; completeCallback?: OnCompleteCallback; dataCallback?: OnDataCallback; errorCallback?: OnErrorCallback; pauseCallback?: OnPauseCallback; startCallback?: OnStartCallback; resumeCallback?: OnResumeCallback; finalizeCallback?: OnFinalizeCallback; /** * * @param {Object} dataSource DataSource controller * @param {String} consumerId Consumer id * @param {Object} initialRequestParams initial requestParams */ constructor(dataSource: DataSourceController, consumerId: string, initialRequestParams?: RequestParams); /** * get last state of this subscription * @returns {Object} last state, either be data or error */ getLastState: () => LastSubscriptionState; /** * start polling data */ startPolling(): void; /** * cancel this subscription */ cancel(): void; /** * refresh current subscription */ refresh(): void; /** * */ start(): void; private pause; private resume; private finalize; control(action: SearchControlAction): void; progress: (payload: SearchData) => void; /** * send back error and broadcast error event */ error: (payload: ErrorPayload) => void; /** * broadcast done event */ done: () => void; /** * register subscription start callback * @param {Function} callback */ onStart(callback: OnStartCallback): void; /** * register subscription cancel callback * @param {Function} callback cancel callback */ onCancel(callback: OnCancelCallback): void; /** * register complete callback * @param {Function} callback */ onComplete(callback: OnCompleteCallback): void; /** * register subscription pause callback * @param {Function} callback */ onPause(callback: OnPauseCallback): void; /** * register subscription resume callback * @param {Function} callback */ onResume(callback: OnResumeCallback): void; /** * register subscription finalize callback * @param {Function} callback */ onFinalize(callback: OnFinalizeCallback): void; /** * Subscribe to DataSource data * @param {Function} onData data callback * @param {Function} onError error callback */ subscribeToData({ onData, onError }?: { onData?: ((...args: any[]) => any) | undefined; onError?: ((...args: any[]) => any) | undefined; }): void; /** * update request params for this subscription * @param {Object} newRequestParams new request params */ updateRequestParams(newRequestParams: RequestParams): void; getPauseStatus(): boolean; } export default Subscription; //# sourceMappingURL=Subscription.d.ts.map