import { BlazeCTAActionType, BlazeError, BlazePlayerType } from '../interfaces';
import { BlazePlayerEvent } from '../interfaces/blaze-player-event';
export interface BlazeOnDataLoadStartedParams {
    playerType: BlazePlayerType;
    sourceId?: string;
}
export interface BlazeOnDataLoadCompleteParams {
    playerType: BlazePlayerType;
    sourceId?: string;
    itemsCount: number;
    error?: BlazeError;
}
export interface BlazeOnPlayerDidAppearParams {
    playerType: BlazePlayerType;
    sourceId?: string;
}
export interface BlazeOnPlayerDidDismissParams {
    playerType: BlazePlayerType;
    sourceId?: string;
}
export interface BlazeOnTriggerCTAParams {
    playerType: BlazePlayerType;
    sourceId?: string;
    actionType: BlazeCTAActionType;
    actionParam: string;
}
export interface BlazeOnTriggerPlayerBodyTextLinkParams {
    playerType: BlazePlayerType;
    sourceId?: string;
    actionParam: string;
}
export interface OnPlayerEventTriggeredParams {
    playerType: BlazePlayerType;
    sourceId?: string;
    playerEvent: BlazePlayerEvent;
}
export interface BlazeOnTriggerCustomActionButtonParams {
    playerType: BlazePlayerType;
    sourceId?: string;
    buttonId: string;
    buttonName: string;
    appMetadata?: Record<string, any>;
}
export interface BlazeBasePlayerDelegate {
    onDataLoadStarted?: (params: BlazeOnDataLoadStartedParams) => void;
    onDataLoadComplete?: (params: BlazeOnDataLoadCompleteParams) => void;
    onPlayerDidAppear?: (params: BlazeOnPlayerDidAppearParams) => void;
    onPlayerDidDismiss?: (params: BlazeOnPlayerDidDismissParams) => void;
    onTriggerCTA?: (params: BlazeOnTriggerCTAParams) => void;
    onTriggerPlayerBodyTextLink?: (params: BlazeOnTriggerPlayerBodyTextLinkParams) => void;
    onPlayerEventTriggered?: (params: OnPlayerEventTriggeredParams) => void;
    onTriggerCustomActionButton?: (params: BlazeOnTriggerCustomActionButtonParams) => void;
}
export declare class BlazeBasePlayerDelegateHandler {
    private static extractPlayerType;
    private static extractCTAActionType;
    static handleDataLoadStarted(data: any, callback?: (params: BlazeOnDataLoadStartedParams) => void): void;
    static handleDataLoadComplete(data: any, callback?: (params: BlazeOnDataLoadCompleteParams) => void): void;
    static handlePlayerDidAppear(data: any, callback?: (params: BlazeOnPlayerDidAppearParams) => void): void;
    static handlePlayerDidDismiss(data: any, callback?: (params: BlazeOnPlayerDidDismissParams) => void): void;
    static handleTriggerCTA(data: any, callback?: (params: BlazeOnTriggerCTAParams) => void): void;
    static handleTriggerPlayerBodyTextLink(data: any, callback?: (params: BlazeOnTriggerPlayerBodyTextLinkParams) => void): void;
    static handlePlayerEventTriggered(data: any, callback?: (params: OnPlayerEventTriggeredParams) => void): void;
    static handleTriggerCustomActionButton(data: any, callback?: (params: BlazeOnTriggerCustomActionButtonParams) => void): void;
}
//# sourceMappingURL=base-player-delegate.d.ts.map