import type { ParseSelector } from 'typed-query-selector/parser';
export declare function querySelectorWith<T extends keyof HTMLElementTagNameMap>(node: ParentNode, selector: T): HTMLElementTagNameMap[T] | null;
export declare function querySelectorWith<T extends keyof SVGElementTagNameMap>(node: ParentNode, selector: T): SVGElementTagNameMap[T] | null;
export declare function querySelectorWith<T extends keyof MathMLElementTagNameMap>(node: ParentNode, selector: T): MathMLElementTagNameMap[T] | null;
export declare function querySelectorWith<T extends string>(node: ParentNode, selector: T): ParseSelector<T>;
export declare function querySelectorWith<T extends Element>(node: ParentNode, selector: string): T | null;
export declare function querySelectorAllWith<T extends keyof HTMLElementTagNameMap>(node: ParentNode, selector: T): HTMLElementTagNameMap[T][];
export declare function querySelectorAllWith<T extends keyof SVGElementTagNameMap>(node: ParentNode, selector: T): SVGElementTagNameMap[T][];
export declare function querySelectorAllWith<T extends keyof MathMLElementTagNameMap>(node: ParentNode, selector: T): MathMLElementTagNameMap[T][];
export declare function querySelectorAllWith<T extends string>(node: ParentNode, selector: T): ParseSelector<T>[];
export declare function querySelectorAllWith<T extends Element>(node: ParentNode, selector: string): T[];
export declare function querySelectorAll<T extends keyof HTMLElementTagNameMap>(node: ParentNode, selector: T): HTMLElementTagNameMap[T][];
export declare function querySelectorAll<T extends keyof SVGElementTagNameMap>(node: ParentNode, selector: T): SVGElementTagNameMap[T][];
export declare function querySelectorAll<T extends keyof MathMLElementTagNameMap>(node: ParentNode, selector: T): MathMLElementTagNameMap[T][];
export declare function querySelectorAll<T extends string>(node: ParentNode, selector: T): ParseSelector<T>[];
export declare function querySelectorAll<T extends Element>(node: ParentNode, selector: string): T[];
