import { Ref } from 'vue'; type SelectionBounds = { top?: number; left?: number; right?: number; bottom?: number; }; type UseSelectionParams = { documentId?: unknown; page?: number; selectionBounds?: SelectionBounds | null; source?: string | null; }; type ContainerLocation = { top: number; left: number; }; type SelectionValues = { documentId: unknown; page: number | undefined; selectionBounds: Bounds; source: string | null | undefined; }; type SelectionModel = { documentId: Ref; page: Ref; selectionBounds: Bounds; source: Ref; getValues: () => SelectionValues; getContainerId: () => string; getContainerLocation: (parentContainer: Pick | null | undefined) => ContainerLocation; }; export default function useSelection(params: UseSelectionParams & { selectionBounds: Bounds; }): SelectionModel; export default function useSelection(params: UseSelectionParams): SelectionModel; export {};