
import { T_el, T_obj, T_opt } from './ax';
import { T_ajax_type, T_content_type } from './utils';
type T_tab_menu = {
    enable?: boolean,
    options?: T_dropdown,
}
type T_tab_slider = {
    enable?: boolean,
    arrow?: boolean,
    options?: T_slider,
}
type T_tab_col = {
    enable?: boolean,
    position?: 'left' | 'right',
}
type T_tab_render = {
    head?: string,
    body?: string,
    headChild?: string,
    bodyChild?: string,
}
type T_tab_tools = {
    enable?: boolean,
    children?: any[],
}
export interface T_tab<B = 1> extends T_opt {
    content?: any,
    ajaxType?: T_ajax_type,
    contType?: T_content_type,
    contData?: T_obj,
    dispose?: boolean,
    active?: number | string | T_el | T_obj,
    disabled?: number | string | T_el | T_obj | (number | string | T_el | T_ob)[],
    trigger?: 'click' | 'hover',
    duration?: number,
    slider?: B extends 1 ? (T_tab_slider | boolean) : T_tab_slider,
    menu?: B extends 1 ? (T_tab_menu | boolean) : T_tab_menu,
    tools?: B extends 1 ? (T_tab_tools | boolean) : T_tab_tools,
    col?: B extends 1 ? (T_tab_col | boolean) : T_tab_col,
    render?: T_tab_render,
    max?: number,
    embed?: boolean,
    classes?: string | string[]
    addActive?: boolean,
    sticky?: number | string | T_el | T_obj,
    layout?: 'page' | 'lamp' | 'flex',
    onTreeCompleted?: T_fn,
    onPlanted?: T_fn,
    onTrigger?: T_fn,
    onAdd?: T_fn,
    onBeforeRemove?: T_fn,
    onRemove?: T_fn,
    onDisable?: T_fn,
    onEnable?: T_fn,
    onDisableALL?: T_fn,
    onEnableAll?: T_fn,
    onExpand?: T_fn,
    onExpanded?: T_fn,
    onCollapse?: T_fn,
    onCollapsed?: T_fn,
    onSelected?: T_fn,
    onUpdate?: T_fn,
    onUpdateCont?: T_fn,
    onExpandAll?: T_fn,
    onCollapseAll?: T_fn,
}
