import { AdType } from './client-server-protocol'; export interface Subscribers { [key: string]: { onReward: () => void; onClose: () => void; }; } export interface AdsParams { key: string; test?: boolean | string | { enabled?: boolean | string; stubs?: boolean; }; } export interface AdEvents { onNotFound?: () => void; onOpen?: () => void; onReward?: () => void; onClose?: () => void; onError?: (error: Error) => void; } export type VisibleAds = Partial>; export declare class Ads { private visibleAds; private subscribers; private onPostMessage; private readonly publisherKey; private readonly device; private readonly user; private readonly sspUrl; private readonly apiVersion; private readonly miniAppData; private readonly showAdStubs; constructor(params: AdsParams); showRewardedVideo(listeners?: AdEvents): Promise; showBottomBanner(listeners?: AdEvents): Promise; closeRewardedVideo(): void; closeBottomBanner(): void; closeAll(): void; destroy(): void; private show; private close; private createPlacement; private handlePostMessage; }