import { BlazeWidgetLabel } from '../classes/blaze-widget-label';
import { BlazeRecommendationsType } from '../classes/blaze-recommendations-type';
import { BlazeBasePlayerDelegate } from '../classes/base-player-delegate';
export interface StoryPageType {
    storyId: string;
    pageId?: string;
}
export type OnDataLoadStartedEvent = Readonly<any>;
export type OnDataLoadCompleteEvent = Readonly<any>;
export type OnPlayerDidAppearEvent = Readonly<any>;
export type OnPlayerDidDismissEvent = Readonly<any>;
export type OnTriggerCTAEvent = Readonly<any>;
export type OnTriggerPlayerBodyTextLinkEvent = Readonly<any>;
export type OnPlayerEventTriggeredEvent = Readonly<any>;
export type OnPlayerEventTriggeredEventInternal = Readonly<any>;
export type OnTriggerCustomActionButtonEvent = Readonly<any>;
export type OnItemClickedEvent = Readonly<any>;
export type OnHeightChangedEventInternal = Readonly<{
    newHeight: number;
}>;
export type BlazeDataSourceType = {
    labels: BlazeWidgetLabel;
    orderType?: BlazeOrderType;
    labelsPriority?: BlazeWidgetLabel[];
    maxItems?: number;
    advancedOrderType?: BlazeAdvancedOrderType;
    personalizedType?: BlazeDataSourcePersonalizedType;
} | {
    ids: string[];
    orderType?: BlazeOrderType;
    advancedOrderType?: BlazeAdvancedOrderType;
} | {
    recommendationsType: BlazeRecommendationsType;
} | {
    type: 'search';
    searchText: string;
    maxItems?: number;
    labels?: BlazeWidgetLabel;
};
type BlazeOrderType = 'manual' | 'recentlyUpdatedFirst' | 'recentlyUpdatedLast' | 'aToZ' | 'zToA' | 'recentlyCreatedFirst' | 'recentlyCreatedLast' | 'random';
type BlazeAdvancedOrderType = 'LiveFirst';
export type BlazeDataSourcePersonalizedType = BlazeDataSourcePersonalizedType_Ids | BlazeDataSourcePersonalizedType_Labels;
/**
* Personalized content based on specific content type IDs.
*/
interface BlazeDataSourcePersonalizedType_Ids {
    type: 'Ids';
    ids: Partial<Record<BlazeDataSourcePersonalizedTypeContentType, string[]>>;
}
/**
 * Personalized content based on label filtering and priority.
 */
interface BlazeDataSourcePersonalizedType_Labels {
    type: 'Labels';
    /**
    * Mandatory filter expression that defines which content is considered.
    */
    labelsFilter: BlazeWidgetLabel;
    /**
    * Mandatory array of `BlazeWidgetLabel` to define the sorting priority for the labels.
    */
    labelsPriority: BlazeWidgetLabel[];
}
type BlazeDataSourcePersonalizedTypeContentType = 'players' | 'teams';
export interface BlazeWidgetOnItemClickedParams {
    sourceId?: string;
    widgetItemId: string;
    widgetItemTitle?: string;
}
export interface BlazeWidgetDelegate extends BlazeBasePlayerDelegate {
    onItemClicked?: (params: BlazeWidgetOnItemClickedParams) => void;
}
export {};
//# sourceMappingURL=widgets-props.interface.d.ts.map