/* eslint max-classes-per-file: off */ import { ComponentChildren } from '../preact.js' import { ClassNamesInput } from '../util/html.js' export type MountArg = ContentArg & { el: HTMLElement } export type DidMountHandler = (mountArg: TheMountArg) => void export type WillUnmountHandler = (mountArg: TheMountArg) => void export interface ObjCustomContent { html: string domNodes: any[] } export type CustomContent = ComponentChildren | ObjCustomContent export type CustomContentGenerator = CustomContent | ((renderProps: RenderProps, createElement: any) => (CustomContent | true)) export type ClassNamesGenerator = ClassNamesInput | ((renderProps: RenderProps) => ClassNamesInput)