import { PollingMeasure } from './polling-measure.js'; export interface PollingObserverOptions { timeout?: number; interval?: number; } declare type PollingCallback = () => T | Promise; declare type ConditionCallback = (data: T | null | undefined, records: PollingObserver['_records'], object: PollingObserver) => boolean | Promise; export interface OnfinishFulfilled { status: 'finish' | 'timeout'; value: T | null | undefined; } export interface OnfinishRejected { status: 'error'; reason: Error; } export declare type OnfinishValue = OnfinishFulfilled | OnfinishRejected; declare type OnfinishCallback = (value: OnfinishValue, records: PollingObserver['_records'], object: PollingObserver) => unknown; export declare class PollingObserver { conditionCallback: ConditionCallback; onfinish?: OnfinishCallback; private _forceStop; private _records; private _isPolling; constructor(conditionCallback: ConditionCallback); disconnect(): void; observe(callback: PollingCallback, options?: PollingObserverOptions): Promise; takeRecords(): PollingMeasure[]; } export default PollingObserver; //# sourceMappingURL=polling-observer.d.ts.map