import { ComputedRef } from 'vue'; interface LockedBy { id: number; name?: string; email?: string; } export interface CanvasLock { id: string; canvas_id: string; instance_id: string; locked_by_id: number; locked_by: LockedBy; expires_at: string | null; } export default function useCanvasLocks(): { locks: import('vue').Ref<{ id: string; canvas_id: string; instance_id: string; locked_by_id: number; locked_by: { id: number; name?: string | undefined; email?: string | undefined; }; expires_at: string | null; }[], CanvasLock[] | { id: string; canvas_id: string; instance_id: string; locked_by_id: number; locked_by: { id: number; name?: string | undefined; email?: string | undefined; }; expires_at: string | null; }[]>; isFetching: import('vue').Ref; isChangingLock: import('vue').Ref; isOrgAdmin: ComputedRef; error: import('vue').Ref; canvasLockMap: ComputedRef>; isCanvasLocked: (canvasId: string) => boolean; getCanvasLock: (canvasId: string) => CanvasLock; isLockedByCurrentUser: (canvasId: string) => boolean; getCanvasLockTooltip: (canvasId: string) => string; fetchLocks: () => Promise; lockCanvas: (canvasId: string) => Promise; unlockCanvas: (lockId: string) => Promise; isLockedBySomeoneElse: (canvasId: string) => boolean; }; export {};