import { default as Player, ImaDaiLive, ImaDaiVod, MediaTailor } from '../../Player';
export declare const adManagerEventsMap: Map<string, string>;
export interface StreamRequest {
    adTagParameters?: string;
    apiKey?: string;
    authToken?: string;
    format: 'hls' | 'dash';
    omidAccessModeRules?: string;
    streamActivityMonitorId?: string;
}
export interface VodStreamRequest extends StreamRequest {
    stream: 'VOD';
    contentSourceId?: string;
    videoId?: string;
}
export interface LiveStreamRequest extends StreamRequest {
    stream: 'LIVE';
    assetKey?: string;
}
export default class ServerSideAdsInsertionPlugin {
    #private;
    readonly name = "ServerSideAdsInsertionPlugin";
    loadIm3: Event | null;
    options: MediaTailor | ImaDaiVod | ImaDaiLive;
    player: Player;
    preventDoubleTrigger: string[];
    constructor(player: Player, options: MediaTailor | ImaDaiVod | ImaDaiLive);
    /**
     * Sets up the server-side ads insertion.
     * @returns A promise that resolves to the stream request URL.
     * @throws {Error} If the Google IMA SDK or Google IMA DAI SDK is not loaded, or if the ad manager is not available.
     */
    setup(): Promise<string>;
}
