import { ValtechAdsConfig } from './types';
import * as i0 from "@angular/core";
/**
 * Servicio para cargar el script de Google AdSense.
 *
 * Implementa lazy loading: el script solo se carga cuando
 * se solicita renderizar el primer ad slot.
 */
export declare class AdsLoaderService {
    private config;
    private platformId;
    private readonly _isLoading;
    private readonly _isLoaded;
    private readonly _error;
    /** Indica si el script esta cargando */
    readonly isLoading: import("@angular/core").Signal<boolean>;
    /** Indica si el script esta cargado */
    readonly isLoaded: import("@angular/core").Signal<boolean>;
    /** Error de carga (si existe) */
    readonly error: import("@angular/core").Signal<Error>;
    private loadPromise;
    constructor(config: ValtechAdsConfig, platformId: Object);
    /**
     * Carga el script AdSense de forma lazy.
     * Retorna true si se cargo correctamente, false si fallo.
     *
     * @returns Promise<boolean>
     */
    loadAdSense(): Promise<boolean>;
    /**
     * Verifica si el script AdSense esta disponible.
     */
    isAdSenseAvailable(): boolean;
    /**
     * Ejecuta un comando AdSense (push a la queue).
     * Usado internamente para activar ad slots.
     */
    pushAdCommand(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AdsLoaderService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AdsLoaderService>;
}
