import type { ATAdInfo, AdError, ATAdEventPayload, ATAdRequest, ATShowConfig, ATAdStatusInfo } from '../types';
/**
 * Banner 监听器。Banner 自动刷新，有 AutoRefresh 回调。
 */
export interface ATBannerListener {
    onBannerAdLoaded?: () => void;
    onBannerAdLoadFail?: (error: AdError) => void;
    onBannerAdShow?: (info: ATAdInfo) => void;
    onBannerAdClicked?: (info: ATAdInfo) => void;
    onBannerAdClose?: (info: ATAdInfo) => void;
    onBannerAdAutoRefreshed?: (info: ATAdInfo) => void;
    onBannerAdAutoRefreshFail?: (error: AdError) => void;
    onDeeplinkCallback?: (info: ATAdInfo, success: boolean) => void;
    onDownloadConfirm?: (info: ATAdInfo) => void;
}
/**
 * Banner 命令式 API。视图渲染走 Fabric `<ATBannerViewComponent>`；
 * 本类用于命令式控制（load/查询/destroy/监听）。实例内按 callbackName 分流。
 */
export declare class ATBannerView {
    private mainListener?;
    private adSourceListener?;
    private multipleLoadedListener?;
    private placementId;
    setPlacementId(placementId: string): void;
    private route;
    /**
     * @param bannerSize 与 Fabric `width`/`height` 一致（pt/dp），避免 load 与 show 尺寸不一致导致空白。
     */
    loadAd(adRequest?: ATAdRequest, bannerSize?: {
        width: number;
        height: number;
    }): void;
    setShowConfig(config: ATShowConfig): void;
    setLocalExtra(map: Record<string, unknown>): void;
    setTKExtra(map: Record<string, unknown>): void;
    checkAdStatus(): Promise<ATAdStatusInfo>;
    checkValidAdCaches(): Promise<ATAdInfo[]>;
    static entryAdScenario(placementId: string, scenarioId: string, tkExtra?: Record<string, unknown>): void;
    setBannerAdListener(listener: ATBannerListener): void;
    setAdRevenueListener(listener: (info: ATAdInfo) => void): void;
    setAdMultipleLoadedListener(listener: (info: ATAdInfo) => void): void;
    setAdSourceStatusListener(listener: (payload: ATAdEventPayload) => void): void;
    destroy(): void;
}
export declare function dispatchBannerEvent(l: ATBannerListener, p: ATAdEventPayload): void;
//# sourceMappingURL=ATBannerView.d.ts.map