/** * @param {import("../data/flowNode.js").Datum} datum * @returns {import("../types/selectionTypes.js").SinglePointSelection} */ export function createSinglePointSelection(datum: import("../data/flowNode.js").Datum): import("../types/selectionTypes.js").SinglePointSelection; /** * @param {import("../data/flowNode.js").Datum[]} [data] * @returns {import("../types/selectionTypes.js").MultiPointSelection} */ export function createMultiPointSelection(data?: import("../data/flowNode.js").Datum[]): import("../types/selectionTypes.js").MultiPointSelection; /** * Returns key tuples for a point selection. * * @param {import("../types/selectionTypes.js").SinglePointSelection | import("../types/selectionTypes.js").MultiPointSelection} selection * @param {string[]} keyFields * @returns {import("../spec/channel.js").Scalar[][] | undefined} */ export function getPointSelectionKeyTuples(selection: import("../types/selectionTypes.js").SinglePointSelection | import("../types/selectionTypes.js").MultiPointSelection, keyFields: string[]): import("../spec/channel.js").Scalar[][] | undefined; /** * Resolves key tuples to a point selection value object. * * @param {"single" | "multi"} type * @param {string[]} keyFields * @param {import("../spec/channel.js").Scalar[][]} keyTuples * @param {(keyFields: string[], keyTuple: import("../spec/channel.js").Scalar[]) => import("../data/flowNode.js").Datum | undefined} resolveDatum * @returns {{ selection: import("../types/selectionTypes.js").SinglePointSelection | import("../types/selectionTypes.js").MultiPointSelection, unresolved: import("../spec/channel.js").Scalar[][] } | undefined} */ export function resolvePointSelectionFromKeyTuples(type: "single" | "multi", keyFields: string[], keyTuples: import("../spec/channel.js").Scalar[][], resolveDatum: (keyFields: string[], keyTuple: import("../spec/channel.js").Scalar[]) => import("../data/flowNode.js").Datum | undefined): { selection: import("../types/selectionTypes.js").SinglePointSelection | import("../types/selectionTypes.js").MultiPointSelection; unresolved: import("../spec/channel.js").Scalar[][]; } | undefined; /** * * @param {import("../spec/channel.js").ChannelWithScale[]} channels * @returns {import("../types/selectionTypes.js").IntervalSelection} */ export function createIntervalSelection(channels: import("../spec/channel.js").ChannelWithScale[]): import("../types/selectionTypes.js").IntervalSelection; /** * Updates the backing data and returns a new instance of the selection object. * A new instance is required to trigger reactivity in parameters. * * @param {import("../types/selectionTypes.js").MultiPointSelection} selection * @param {Partial>>} update * @returns {import("../types/selectionTypes.js").MultiPointSelection} */ export function updateMultiPointSelection(selection: import("../types/selectionTypes.js").MultiPointSelection, { add, remove, toggle }: Partial>>): import("../types/selectionTypes.js").MultiPointSelection; /** * Returns a string expression that can be used to test if a datum is part of the selection. * * @param {import("../spec/transform.js").SelectionFilterParams} params * @param {import("../types/selectionTypes.js").Selection} selection */ export function makeSelectionTestExpression(params: import("../spec/transform.js").SelectionFilterParams, selection: import("../types/selectionTypes.js").Selection): string; /** * @param {import("../types/selectionTypes.js").Selection} selection * @returns {selection is import("../types/selectionTypes.js").IntervalSelection} */ export function isIntervalSelection(selection: import("../types/selectionTypes.js").Selection): selection is import("../types/selectionTypes.js").IntervalSelection; /** * @param {import("../types/selectionTypes.js").Selection} selection * @returns {selection is import("../types/selectionTypes.js").SinglePointSelection} */ export function isSinglePointSelection(selection: import("../types/selectionTypes.js").Selection): selection is import("../types/selectionTypes.js").SinglePointSelection; /** * @param {import("../types/selectionTypes.js").Selection} selection * @returns {selection is import("../types/selectionTypes.js").MultiPointSelection} */ export function isMultiPointSelection(selection: import("../types/selectionTypes.js").Selection): selection is import("../types/selectionTypes.js").MultiPointSelection; /** * @param {import("../types/selectionTypes.js").Selection} selection * @returns {selection is import("../types/selectionTypes.js").ProjectedSelection} */ export function isProjectedSelection(selection: import("../types/selectionTypes.js").Selection): selection is import("../types/selectionTypes.js").ProjectedSelection; /** * @param {import("../spec/parameter.js").SelectionTypeOrConfig} typeOrConfig * @returns {import("../spec/parameter.js").SelectionConfig} */ export function asSelectionConfig(typeOrConfig: import("../spec/parameter.js").SelectionTypeOrConfig): import("../spec/parameter.js").SelectionConfig; /** * @param {import("../spec/parameter.js").SelectionConfig} config * @returns {config is import("../spec/parameter.js").PointSelectionConfig} */ export function isPointSelectionConfig(config: import("../spec/parameter.js").SelectionConfig): config is import("../spec/parameter.js").PointSelectionConfig; /** * * @param {import("../spec/parameter.js").SelectionConfig} config * @returns {config is import("../spec/parameter.js").IntervalSelectionConfig} */ export function isIntervalSelectionConfig(config: import("../spec/parameter.js").SelectionConfig): config is import("../spec/parameter.js").IntervalSelectionConfig; /** * @param {import("../types/selectionTypes.js").IntervalSelection} selection */ export function isActiveIntervalSelection(selection: import("../types/selectionTypes.js").IntervalSelection): boolean; /** * @typedef {import("../types/selectionTypes.js").IntervalSelection} IntervalSelection * @typedef {Partial>} IntervalPoint * @param {IntervalSelection} selection * @param {IntervalPoint} point */ export function selectionContainsPoint(selection: IntervalSelection, point: IntervalPoint): boolean; /** * @param {import("../spec/parameter.js").SelectionConfig["on"]} eventType * @returns {import("../spec/parameter.js").EventConfig} */ export function asEventConfig(eventType: import("../spec/parameter.js").SelectionConfig["on"]): import("../spec/parameter.js").EventConfig; export type IntervalSelection = import("../types/selectionTypes.js").IntervalSelection; export type IntervalPoint = Partial>; //# sourceMappingURL=selection.d.ts.map