import { API } from '../../api';
import { IUpdatesOptions } from '../updates';
export declare class PollingTransport {
    started: boolean;
    /**
     * 2 -  Attachments
     * 8 -  Extended events
     * 64 - Online user platform ID
     * 128 - Return random_id
     */
    mode: number;
    pollingHandler: (update: unknown[]) => unknown;
    protected api: API;
    protected ts: string | number;
    protected pts: number;
    protected restarted: number;
    protected url: URL;
    private options;
    constructor({ api, ...options }: Omit<IUpdatesOptions, 'upload'>);
    start(): Promise<void>;
    /**
     * Stopping gets updates
     */
    stop(): Promise<void>;
    /**
     * Starts forever fetch updates  loop
     */
    protected startFetchLoop(): Promise<void>;
    /**
     * Gets updates
     */
    fetchUpdates(): Promise<void>;
    subscribe(handler: (update: unknown[]) => unknown): void;
}
