import { T_bubble_list, T_fn, T_obj, T_opt, T_sel } from "./ax";
import { T_footer, T_tools } from "./utils";
type T_arrow = {
    enable?: boolean,
    offset?: string | number,
    gap?: string | number,
}
type T_wing = {
    selector?:T_sel ,
    triggerClass?: string,
}
type T_media = {
    caption?: string,
    brief?: string,
}
type T_mask = {
    enable?: boolean,
    closable?:boolean,
}
export interface T_drawer<B=1> extends T_opt {
    heading?: string;
    divider?: boolean;
    placement?: 'left'|'right'|'bottom'|'top'|'max';
    offset?:string;
    size?: string;
    duration?: number;
    autoDur?:boolean;
    parent?: T_sel;
    trigger?:  'click'|'sticky'|'none';
    asleep?: boolean;
    keepShow?: boolean;
    deadShow?: boolean;
    classes?: string | string[];
    padding?: string | boolean;
    content?: any;
    contType?: string;
    contData?: T_obj;
    ajaxType?: 'post' | 'get';
    actClass?: string;
    tplStr?: string;
    tplEng?: any;
    zIndex?: number;
    breakpoints?: T_obj;
    position?: any;
    media?: T_media;
    list?:T_bubble_list;
    wing?: T_wing;
    mask?:B extends 1 ? (T_mask | boolean) : T_mask;
    tools?: B extends 1 ? (T_tools | boolean) : T_tools;
    footer?: B extends 1 ? (T_footer | boolean) : T_footer;
    b4Hide?:T_fn;
    b4Show?:T_fn;
    b4Confirm?:T_fn;
    b4Cancel?:T_fn;
    b4Fill?: T_fn;
    onShow?: T_fn;
    onHide?: T_fn;
    onConfirm?:T_fn;
    onCancel?:T_fn;
    onValid?: T_fn;
    onUpdateCont?: T_fn;
    onTransfer?: T_fn;
    onRequest?:T_fn;
}
