/**
 * @param {Rule} query
 * @param {Node} node
 * @param {number|null} index
 * @param {Parent|null} parent
 * @param {SelectState} state
 * @returns {boolean}
 */
export function pseudo(
  query: Rule,
  node: Node,
  index: number | null,
  parent: Parent | null,
  state: SelectState
): boolean
export namespace pseudo {
  const needsIndex: string[]
}
export type Rule = import('./types.js').Rule
export type RulePseudo = import('./types.js').RulePseudo
export type RulePseudoNth = import('./types.js').RulePseudoNth
export type RulePseudoSelector = import('./types.js').RulePseudoSelector
export type Parent = import('./types.js').Parent
export type Selector = import('./types.js').Selector
export type Selectors = import('./types.js').Selectors
export type SelectState = import('./types.js').SelectState
export type Node = import('./types.js').Node
