///
declare namespace M {
class Collapsible extends Component {
/**
* Get Instance
*/
static getInstance(elem: Element): Collapsible;
/**
* Init Collapsible
*/
static init(els: Element, options?: Partial): Collapsible;
/**
* Init Collapsibles
*/
static init(els: MElements, options?: Partial): Collapsible[];
/**
* Open collapsible section
* @param n Nth section to open
*/
open(n: number): void;
/**
* Close collapsible section
* @param n Nth section to close
*/
close(n: number): void;
}
interface CollapsibleOptions {
/**
* If accordion versus collapsible
* @default true
*/
accordion: boolean;
/**
* Transition in duration in milliseconds.
* @default 300
*/
inDuration: number;
/**
* Transition out duration in milliseconds.
* @default 300
*/
outDuration: number;
/**
* Callback function called before modal is opened
* @default null
*/
onOpenStart: (this: Collapsible, el: Element) => void;
/**
* Callback function called after modal is opened
* @default null
*/
onOpenEnd: (this: Collapsible, el: Element) => void;
/**
* Callback function called before modal is closed
* @default null
*/
onCloseStart: (this: Collapsible, el: Element) => void;
/**
* Callback function called after modal is closed
* @default null
*/
onCloseEnd: (this: Collapsible, el: Element) => void;
}
}
interface JQuery {
collapsible(method: keyof Pick): JQuery;
collapsible(method: keyof Pick | keyof Pick, n: number): JQuery;
collapsible(options?: Partial): JQuery;
}