/// <reference types="googletag" />
import { Router } from '@angular/router';
import { AfterViewInit, DoCheck, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { NgGptService } from './ng-gpt.service';
import { IdGeneratorUtil } from './utils';
import * as i0 from "@angular/core";
export declare class NgGptDirective implements OnInit, DoCheck, OnDestroy, AfterViewInit {
    private router;
    private platformId;
    private elementRef;
    private gptService;
    private idGenerator;
    private $update;
    private $destroy;
    private slot?;
    private onSameNavigation;
    adUnitPath: string;
    id?: string;
    size?: googletag.GeneralSize;
    sizeMapping?: googletag.SizeMappingArray;
    categoryExclusion?: string | string[];
    collapseEmptyDiv?: boolean | [boolean, boolean];
    forceSafeFrame?: boolean;
    safeFrameConfig?: googletag.SafeFrameConfig;
    targeting?: Record<string, string | string[]>;
    clickUrl?: string;
    refresh?: number;
    impressionViewable: EventEmitter<Event>;
    rewardedSlotClosed: EventEmitter<Event>;
    rewardedSlotGranted: EventEmitter<Event>;
    rewardedSlotReady: EventEmitter<Event>;
    slotOnload: EventEmitter<Event>;
    slotRenderEnded: EventEmitter<Event>;
    slotRequested: EventEmitter<Event>;
    slotResponseReceived: EventEmitter<Event>;
    slotVisibilityChanged: EventEmitter<Event>;
    constructor(router: Router, platformId: Object, elementRef: ElementRef, gptService: NgGptService, idGenerator: IdGeneratorUtil);
    ngAfterViewInit(): void;
    ngOnInit(): void;
    ngDoCheck(): void;
    ngOnDestroy(): void;
    display(): void;
    checkRequiredFields(input: any, name: string): void;
    destroy(): void;
    private init;
    create(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgGptDirective, [{ optional: true; }, null, null, null, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgGptDirective, "gpt-ad", never, { "adUnitPath": "adUnitPath"; "id": "id"; "size": "size"; "sizeMapping": "sizeMapping"; "categoryExclusion": "categoryExclusion"; "collapseEmptyDiv": "collapseEmptyDiv"; "forceSafeFrame": "forceSafeFrame"; "safeFrameConfig": "safeFrameConfig"; "targeting": "targeting"; "clickUrl": "clickUrl"; "refresh": "refresh"; }, { "impressionViewable": "impressionViewable"; "rewardedSlotClosed": "rewardedSlotClosed"; "rewardedSlotGranted": "rewardedSlotGranted"; "rewardedSlotReady": "rewardedSlotReady"; "slotOnload": "slotOnload"; "slotRenderEnded": "slotRenderEnded"; "slotRequested": "slotRequested"; "slotResponseReceived": "slotResponseReceived"; "slotVisibilityChanged": "slotVisibilityChanged"; }, never, never, false>;
}
