import { ExcalidrawElement, NonDeletedExcalidrawElement } from "../element/types"; import { AppState } from "../types"; /** * Frames and their containing elements are not to be selected at the same time. * Given an array of selected elements, if there are frames and their containing elements * we only keep the frames. * @param selectedElements */ export declare const excludeElementsInFramesFromSelection: (selectedElements: readonly T[]) => T[]; export declare const getElementsWithinSelection: (elements: readonly NonDeletedExcalidrawElement[], selection: NonDeletedExcalidrawElement, excludeElementsInFrames?: boolean) => NonDeletedExcalidrawElement[]; export declare const isSomeElementSelected: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick) => boolean; /** * Returns common attribute (picked by `getAttribute` callback) of selected * elements. If elements don't share the same value, returns `null`. */ export declare const getCommonAttributeOfSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick, getAttribute: (element: ExcalidrawElement) => T) => T | null; export declare const getSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick, opts?: { includeBoundTextElement?: boolean; includeElementsInFrames?: boolean; }) => ExcalidrawElement[]; export declare const getTargetElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick) => ExcalidrawElement[];