import { DomCollection } from './collection.ts'; import { TemplateStamper } from './template.ts'; import type { SelectOptions, CreateOptions, TemplateConfig } from './types.ts'; /** * Query the DOM and return a {@link DomCollection} wrapping matched elements. * * @example * const buttons = $('.btn'); * const scoped = $('.item', { container: sidebar }); * const managed = $('.chat', { signal: controller.signal }); * const both = $('.btn', { container: sidebar, signal: ctrl.signal }); * const wrapped = $(element); * const wrapped = $([el1, el2], { signal: ctrl.signal }); */ export declare function $(selector: string | T | T[], opts?: SelectOptions): DomCollection; export declare namespace $ { var create: (tag: K, opts?: CreateOptions) => DomCollection; var template: (source: string | HTMLTemplateElement, config?: TemplateConfig) => TemplateStamper; } export { DomCollection } from './collection.ts'; export { css } from './css.ts'; export { attr } from './attr.ts'; export { classify } from './class.ts'; export { data } from './data.ts'; export { aria } from './aria.ts'; export { on, once, off, emit } from './events.ts'; export { animate } from './animate.ts'; export { observe } from './observe.ts'; export { watchVisibility, watchResize } from './watch.ts'; export { viewport } from './viewport.ts'; export { create, append, prepend, remove, replace } from './dom.ts'; export { TemplateStamper } from './template.ts'; export type * from './types.ts'; export type { AnimateOptions } from './animate.ts';