�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` import type { Selector } from "css-what"; export declare type InternalSelector = Selector | { type: "_flexibleDescendant"; }; export declare type Predicate = (v: Value) => boolean; export interface Adapter { /** * Is the node a tag? */ isTag: (node: Node) => node is ElementNode; /** * Does at least one of passed element nodes pass the test predicate? */ existsOne: (test: Predicate, elems: Node[]) => boolean; /** * Get the attribute value. */ getAttributeValue: (elem: ElementNode, name: string) => string | undefined; /** * Get the node's children */ getChildren: (node: Node) => Node[]; /** * Get the name of the tag */ getName: (elem: ElementNode) => string; /** * Get the parent of the node */ getParent: (node: ElementNode) => ElementNode | null; /** * Get the siblings of the node. Note that unlike jQuery's `siblings` method, * this is expected to include the current node as well */ getSiblings: (node: Node) => Node[]; /** * Get the text content of the node, and its children if it has any. */ getText: (node: Node) => string; /** * Does the element have the named attribute? */ hasAttrib: (elem: ElementNode, name: string) => boolean; /** * Takes an array of nodes, and removes any duplicates, as well as any * nodes whose ancestors are also in the array. */ removeSubsets: (nodes: Node[]) => Node[]; /** * Finds all of the element nodes in the array that match the test predicate, * as well as any of their children that match it. */ findAll: (test: Predicate, nodes: Node[]) => ElementNode[]; /** * Finds the first node in the array that matches the test predicate, or one * of its children. */ findOne: (test: Predicate, elems: Node[]) => ElementNode | null; /** * The adapter can also optionally include an equals method, if your DOM * structure needs a custom equality test to compare two objects which refer * to the same underlying node. If not provided, `css-select` will fall back to * `a === b`. */ equals?: (a: Node, b: Node) => boolean; /** * Is the element in hovered state? */ isHovered?: (elem: ElementNode) => boolean; /** * Is the element in visited state? */ isVisited?: (elem: ElementNode) => boolean; /** * Is the element in active state? */ isActive?: (elem: ElementNode) => boolean; } export interface Options { /** * When enabled, tag names will be case-sensitive. * * @default false */ xmlMode?: boolean; /** * The last function in the stack, will be called with the last element * that's looked at. */ rootFunc?: (element: ElementNode) => boolean; /** * The adapter to use when interacting with the backing DOM structure. By * default it uses the `domutils` module. */ adapter?: Adapter; /** * The context of the current query. Used to limit the scope of searches. * Can be matched directly using the `:scope` pseudo-selector. */ context?: Node | Node[]; /** * Allow css-select to cache results for some selectors, sometimes greatly * improving querying performance. Disable this if your document can * change in between queries with the same compiled selector. * * @default true */ cacheResults?: boolean; } export interface InternalOptions extends Options { adapter: Adapter; equals: (a: Node, b: Node) => boolean; } export interface CompiledQuery { (node: ElementNode): boolean; shouldTestNextSiblings?: boolean; } export declare type Query = string | CompiledQuery | Selector[][]; export declare type CompileToken = (token: InternalSelector[][], options: InternalOptions, context?: Node[] | Node) => CompiledQuery; //# sourceMappingURL=types.d.ts.map