import { T_fn, T_obj, T_opt, T_sel } from "./ax";
type T_tags_editor = {
    enable?: boolean,
    addable?: boolean,
    deletable?: boolean,
    selector?: T_sel,
    placeholder?: string,
}
type T_tags_empty = {
    enable?: boolean,
    content?:string,
}
export type T_tags_item = {
    label?:string,
    theme?:''|'prim'|'succ'|'error'|'warn'|'issue'|'info'|'text'|'brief'|'ignore',
    href?:string,
    target?:string,
    rel?:string,
    wrapEl?:T_el,
    removeEl?:T_el,
    labelEl?:T_el,
    selected?:boolean,
    disabled?:boolean,
}
export interface T_tags<B=1> extends T_opt {
    ajax?: T_obj;
    theme?: string;
    content?:any;
    contType?:(string|T_obj)[]|'text'|'async'|'',
    contData?:T_obj;
    type?: 'borderless'|'plain';
    shape?: 'round'|'square';
    compact?: boolean;
    classes?: string;
    hyphen?: string;
    removable?:boolean;
    unique?:boolean;
    editor?: B extends 1 ? (T_tags_editor | boolean) : T_tags_editor;
    empty?: B extends 1 ? (T_tags_empty | boolean) : T_tags_empty;
    b4Fill?: T_fn;
    b4Add?: T_fn;
    b4Remove?: T_fn;
    b4Edit?: T_fn;
    b4Clear?: T_fn;
    onAdd?: T_fn;
    onRemove?: T_fn;
    onEdit?: T_fn;
    onClear?: T_fn;
    onDuplicate?:T_fn;
    onRequest?:T_fn;
}
