import { ISelector } from './types.js' import { queryAll } from './query-all.js' export function query( this: void | Document , root: Node | Iterable , ...selectors: ISelector[] ): T | undefined export function query( this: void | Document , ...selectors: [ISelector, ...ISelector[]] ): T | undefined export function query(this: void | Document, ...args: | [root: Node | Iterable, ...selectors: ISelector[]] | [...selectors: [ISelector, ...ISelector[]]] ): T | undefined { const results = queryAll.apply(this, args as Parameters) if (results.length > 0) { return results[0] as T } else { return undefined } }