export interface LibraryBase { id: number; zhName: string; zhNameTrace: string; enName: string; enNameTrace: string; valid: boolean; } export type Library = LibraryBase; export type LibraryFloor = LibraryBase; export interface LibraryDate { day: string; startTime: string; endTime: string; segmentId: number; today: boolean; } export interface LibrarySection extends Library { total: number; available: number; posX: number; posY: number; } export type SocketStatus = "available" | "unavailable" | "unknown"; export interface LibrarySeat extends Library { type: number; status: SocketStatus | undefined; } export declare const weightedValidityAndId: (lib: LibraryBase) => number; export declare const byId: (a: LibraryBase, b: LibraryBase) => number; export interface LibBookRecord { id: string; pos: string; time: string; status: string; delId: string | undefined; } export interface LibRoom { devId: number; devName: string; minReserveTime: number; } export interface LibRoomInfo { kindId: number; kindName: string; rooms: LibRoom[]; } export interface LibRoomUsage { id: number; start: Date; end: Date; title: string; owner: string; ownerId: string; } export interface LibRoomRes { devId: number; devName: string; kindId: number; kindName: string; labId: number; labName: string; roomId: number; roomName: string; limit: number; maxMinute: number; minMinute: number; cancelMinute: number; maxUser: number; minUser: number; openStart: string | null; openEnd: string | null; usage: LibRoomUsage[]; } export interface LibFuzzySearchResult { id: number; label: string; department: string; } export interface LibRoomBookRecord { uuid: string; rsvId: number; owner: string; ownerId: string; date: string; begin: Date; end: Date; devName: string; kindName: string; members: { name: string; userId: string; }[]; }