/**
 * Ad Slot Component
 *
 * Componente standalone para mostrar ads de Google AdSense.
 * Se integra automaticamente con el servicio de Ads y respeta consent + premium.
 *
 * @example
 * ```html
 * <!-- Banner basico -->
 * <val-ad-slot
 *   slotId="homepage-top"
 *   format="horizontal"
 *   [fullWidth]="true"
 * />
 *
 * <!-- Rectangle ad -->
 * <val-ad-slot
 *   slotId="sidebar-ad"
 *   adSlot="1234567890"
 *   format="rectangle"
 * />
 *
 * <!-- Auto format (Google decides) -->
 * <val-ad-slot
 *   slotId="article-ad"
 *   format="auto"
 *   [fullWidth]="true"
 * />
 * ```
 */
import { OnInit, OnDestroy, AfterViewInit } from '@angular/core';
import { AdsService } from '../../../services/ads/ads.service';
import { AdFormat, AdSlotState } from '../../../services/ads/types';
import * as i0 from "@angular/core";
export declare class AdSlotComponent implements OnInit, OnDestroy, AfterViewInit {
    readonly adsService: AdsService;
    private readonly platformId;
    private readonly elementRef;
    /** ID unico del slot (para tracking interno) */
    slotId: string;
    /** Ad Slot ID de AdSense (opcional, para unidades manuales) */
    adSlot?: string;
    /** Formato del ad */
    format: AdFormat;
    /** Full width responsive */
    fullWidth: boolean;
    /** CSS class adicional */
    cssClass: string;
    /** Altura minima */
    minHeight: string;
    /** Mostrar skeleton */
    showSkeleton: boolean;
    private readonly _state;
    readonly state: import("@angular/core").Signal<AdSlotState>;
    private adInitialized;
    /** Indica si el componente debe renderizarse */
    readonly shouldRender: import("@angular/core").Signal<boolean>;
    /**
     * Indica si debe mostrar placeholder en vez de ad real.
     * Activo en localhost o con Publisher ID placeholder.
     */
    readonly isPlaceholderMode: import("@angular/core").Signal<boolean>;
    ngOnInit(): Promise<void>;
    ngAfterViewInit(): Promise<void>;
    ngOnDestroy(): void;
    private initializeAd;
    static ɵfac: i0.ɵɵFactoryDeclaration<AdSlotComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AdSlotComponent, "val-ad-slot", never, { "slotId": { "alias": "slotId"; "required": true; }; "adSlot": { "alias": "adSlot"; "required": false; }; "format": { "alias": "format"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "showSkeleton": { "alias": "showSkeleton"; "required": false; }; }, {}, never, never, true, never>;
}
