import { T_fn, T_fn_update, T_obj, T_opt, T_opt_base, T_sel } from "./ax";
import { T_arrow } from "./popup";
import { T_footer, T_tools } from "./utils";
interface T_position_obs {
    enable?:boolean,
    attrs?: string[],
    size?: boolean,
}
interface T_position_mtt {
    enable?:boolean,
    options?: T_obj,
}
export interface T_position<B = 1> {
    insName?: string;
    enable?: boolean;
    placement?: T_position_place;
    arrow?: B extends 1 ? (T_arrow | boolean) : T_arrow;
    parentMutation?: T_position_mtt;
    targetObserve?: T_position_obs;
    bubbleObserve?: T_position_obs;
    delay?: number;
    onReady?: T_fn | null;
    onStart?: T_fn | null;
    
    onReposition?: T_fn | null;
    
    onTransfer?: T_fn | null;
    onInit?: T_fn_cb | null;
    onDestroy?: T_fn_cb | null;
}
