export declare type SalesSdkDishConnectionStatus = 'disabled' | 'connecting' | 'connected' | 'disconnected'; /** Firebase `shops/.../record` 下的一条原始 Dish 记录。 */ export interface SalesSdkDishRecord { type?: 'order' | 'product' | string; tag?: string; status?: string; parent_id?: string | number | null; task_id?: string | number | null; data_source_id?: string | number | null; form_id?: string | number | null; form_record_id?: string | number | null; end_time?: string; quantity?: string | number; task_title?: any; options?: string; description?: string; [key: string]: any; } export interface SalesSdkDishStats { all: number; not: number; prepared: number; done: number; } /** 同一 parent_id/task_id 下可被 UI 直接渲染的一组划菜数据。 */ export interface SalesSdkDishTask { taskId: string; items: SalesSdkDishRecord[]; stats: SalesSdkDishStats; } /** 同一 data_source_id 下的 order 与其菜品记录。 */ export interface SalesSdkDishOrder { dataSourceId: string; /** * 低代码页的 `parentIdMap[0].find(data_source_id === detailData.id)`。 * 用作 Dish 顶部备注与任务入口的 Firebase 根记录。 */ rootRecord?: SalesSdkDishRecord; order?: SalesSdkDishRecord; records: SalesSdkDishRecord[]; productList: SalesSdkDishRecord[]; servingTime?: string; } export interface SalesSdkDishSnapshot { ordersByDataSourceId: Record; tasksById: Record; } export interface SalesSdkDishPendingState { completingRecordIds: Record; completingTaskIds: Record; updatingServingTimeDataSourceIds: Record; } export interface SalesSdkDishContextValue extends SalesSdkDishSnapshot { isSupported: boolean; shopId: number | null; connectionStatus: SalesSdkDishConnectionStatus; pending: SalesSdkDishPendingState; getOrder: (dataSourceId: string | number | null | undefined) => SalesSdkDishOrder | undefined; getTask: (taskId: string | number | null | undefined) => SalesSdkDishTask | undefined; completeDish: (dish: SalesSdkDishRecord) => Promise; completeTask: (task: SalesSdkDishTask) => Promise; updateServingTime: (order: SalesSdkDishOrder, dishes: SalesSdkDishRecord[], endTime: string) => Promise; }