/**
 * @param {{ findRuntimeForParam: (name: string) => any }} paramRuntime
 * @param {string} paramName
 */
export function requireParamRuntime(paramRuntime: {
    findRuntimeForParam: (name: string) => any;
}, paramName: string): any;
/**
 * @param {any} selection
 * @param {string} paramName
 */
export function requireIntervalSelection(selection: any, paramName: string): import("../types/selectionTypes.js").IntervalSelection;
/**
 * Returns an interval selection when the value exists and is of the correct
 * type. Missing values are treated as empty so selection-linked domains can
 * initialize before a pushed outer selection has been seeded.
 *
 * @param {any} selection
 * @param {string} paramName
 * @returns {import("../types/selectionTypes.js").IntervalSelection | undefined}
 */
export function getIntervalSelection(selection: any, paramName: string): import("../types/selectionTypes.js").IntervalSelection | undefined;
/**
 * Resolves the runtime-backed interval selection binding used by a linked
 * domain. Matching is based on the actual resolved runtime slot instead of
 * parameter name alone, so scoped params with the same name remain distinct.
 *
 * @param {import("../view/view.js").default} view
 * @param {string} paramName
 * @param {"x" | "y"} encoding
 */
export function resolveIntervalSelectionBinding(view: import("../view/view.js").default, paramName: string, encoding: "x" | "y"): {
    runtime: any;
    selection: import("../types/selectionTypes.js").IntervalSelection;
};
/**
 * @param {import("../view/view.js").default} root
 * @param {any} runtime
 * @param {string} paramName
 * @param {"x" | "y"} encoding
 */
export function findIntervalSelectionBindingOwners(root: import("../view/view.js").default, runtime: any, paramName: string, encoding: "x" | "y"): {
    view: import("../view/view.js").default;
    param: import("../spec/parameter.js").SelectionParameter;
}[];
/**
 * @param {import("../view/view.js").default} view
 * @param {any} runtime
 * @param {string} paramName
 * @param {"x" | "y"} encoding
 */
export function hasIntervalSelectionBindingInScope(view: import("../view/view.js").default, runtime: any, paramName: string, encoding: "x" | "y"): boolean;
/**
 * @param {number[]} interval
 * @param {number[]} zoomExtent
 * @param {{ roundToIntegers?: boolean }} [options]
 * @returns {[number, number] | undefined}
 */
export function normalizeIntervalForSelection(interval: number[], zoomExtent: number[], options?: {
    roundToIntegers?: boolean;
}): [number, number] | undefined;
//# sourceMappingURL=selectionDomainUtils.d.ts.map