import type { AdsTimeRemained } from '../../types';
import { AdsSection } from '../../types';
import { type ILogger } from '@vkontakte/videoplayer-shared';
import { Subject } from '@vkontakte/videoplayer-shared';
import type { IAdsState } from '../../store';
import type { AdmanInitParams, ExternalActions, IConfig, IPlayerState } from './types';
export declare class AdmanWrapper {
    private adman;
    private initialVolume;
    private readonly volumeMultiplier;
    private videoElement;
    private currentAdSection;
    private actions;
    private adsState;
    private playerState;
    private isDestroyed;
    private readonly log;
    private loadTimeout;
    private initTimeout;
    private runtimeTimeout;
    private useAdmanFromNPM;
    private isVsidOriginal;
    private watchDogTimeout;
    private externalApi?;
    events: {
        init$: Subject<number>;
        loadStarted$: Subject<void>;
        loadEnded$: Subject<void>;
        loadError$: Subject<void>;
        ready$: Subject<void>;
        slotRequested$: Subject<void>;
        started$: Subject<AdsSection>;
        timeRemained$: Subject<AdsTimeRemained>;
        paused$: Subject<void>;
        resumed$: Subject<void>;
        ended$: Subject<AdsSection>;
        empty$: Subject<void>;
        skipped$: Subject<void>;
        clicked$: Subject<AdsSection>;
        closed$: Subject<AdsSection>;
        error$: Subject<string>;
    };
    constructor(logger: ILogger, config: IConfig);
    init(actions: ExternalActions, adsState: IAdsState, playerState: IPlayerState): void;
    loadAdman: (abortSignal: AbortSignal) => Promise<void>;
    loadAdmanMailRu: (abortSignal: AbortSignal) => Promise<void>;
    private loadAdmanNPM;
    onAdmanLoadingError(): void;
    initAdman(initParams: AdmanInitParams): Promise<void>;
    private switchToVideo;
    private setPostrollPassed;
    togglePlay(): void;
    setInitialVolume(volume: number): void;
    setVolume(volume: number): void;
    setFullscreen(isFullscreen: boolean): void;
    startPreroll(): void;
    startPostroll(): void;
    private onAdsReady;
    private onAdStarted;
    private onAdTimeRemained;
    private onAdPaused;
    private onAdPlayed;
    private onAdMidrollPoint;
    private onAdSkipped;
    private onAdClosed;
    private onAdCompleted;
    private onAdClicked;
    private onAdError;
    private startWatchDog;
    private stopWatchDog;
    play(): void;
    pause(): void;
    skip(): void;
    setPosition(position: number, duration: number): void;
    destroy(): void;
    private safeExternalCall;
}
