import { EmbedRenderOptions, MetaPropertyComposeType, MetaPropertyType } from '.';
export interface EmbedFunnelAnalysisOptions extends EmbedRenderOptions {
    resultId?: string;
    interfaceSetting?: EmbedRenderOptions['interfaceSetting'] & {
        defaultQueryEvents?: {
            subjectId: number;
            subjectName?: string;
        };
        defaultStatisticsMode?: number;
    };
}
/**
 * 老的就是使用的字符串，没啥不好，保留吧
 */
export declare enum FunnelEventType {
    SINGLETON = "singleton",
    PARALLEL = "parallel"
}
export interface FunnelEventItem {
    uuid?: string;
    type: FunnelEventType;
    label: string;
    events: FunnelBaseEvent[];
}
/**
 * 逻辑关系
 */
export declare enum ELogic {
    AND = "and",
    OR = "or"
}
export interface ShowLogicWrapper<T> {
    /**
     * 逻辑。and/or
     */
    logic: ELogic;
    conditions: Array<T>;
}
export declare type ShowCondition = ShowLogicWrapper<ShowLogicWrapper<any>>;
export interface FunnelBaseEvent {
    uuid?: string;
    /**
     * 展示的label，业务无需关心
     */
    label?: string;
    /**
     * 过滤条件
     */
    conditions?: ShowCondition;
    /**
     * 关联属性
     */
    relation?: any;
    event?: {
        event_name: string;
        event_type: EventType;
    };
    /**
     * 开启融合分析后，数据的数据档案的id
     */
    data_archive_id?: number;
}
export declare type EventType = 'origin' | 'virtual';
export interface FunnelQueryEvent {
    eventName: string;
    eventType: EventType;
    showName?: string;
    dataArchiveId?: number;
    type?: FunnelEventType;
    paramFilters?: {
        /** 按属性类型过滤 */
        propertyType?: MetaPropertyType;
        /** 按名称过滤 */
        propertyComposeType?: MetaPropertyComposeType;
        /** 按名称过滤 */
        name?: string[];
        operation?: string;
        propertyValues?: string[];
    }[];
}
