import type { PisellReservationTableRow } from '../types';
/**
 * 平面图 / 预约详情里唤起 TicketBooking 时，与宿主 `pisell1.handleOpenEditBooking` 对齐的公共配置。
 * 新建（仅 createModeConfig）与编辑（order_id + 可选 createModeConfig 覆盖）共用同一套 booking 侧参数。
 */
export interface ReservationTicketBookingHostConfigInput {
    reservationBiz: string;
    associated_menu_list_ids?: number[];
}
/**
 * 组装 `createModeConfig` 中与商品来源、展示、业务码相关的字段（不含 `initialModalState`）。
 */
export declare function buildReservationTicketBookingCreateModeConfigBase(input: ReservationTicketBookingHostConfigInput): Record<string, unknown>;
/**
 * 从桌位行组装 booking.resources 所需的资源映射。
 */
export declare function buildResourcePayloadFromReservationRow(row: PisellReservationTableRow): {
    [x: string]: {
        id: number;
        shop_id: number;
        schedule_event_id: number;
        category: string;
        form_id: number;
        parent_relation_id: number;
        relation_type: string;
        relation_id: number;
        capacity: number;
        like_status: string;
        metadata: Record<string, unknown> | null;
        created_at: string | null;
        updated_at: string | null;
        deleted_at: string | null;
    }[];
};
export declare function buildServiceItemFromReservationRuleProduct(product: any, resource: ReturnType<typeof buildResourcePayloadFromReservationRow>): any;
export declare function buildReservationTicketBookingCreateModeConfigForRow(input: {
    reservationBiz?: string;
    associated_menu_list_ids?: number[];
    reservationRuleProduct?: any | null;
    row?: PisellReservationTableRow | null;
}): Record<string, unknown> | null;
/**
 * 派发宿主的「新建预约」action。
 *
 * dine_in 走 `pisell1.handleOpenCachedBigSale` + 新结构 createModeConfig；
 * 其它业务仍走 `pisell1.handleOpenEditBooking` + 完整 createModeConfig。
 */
export declare function openNewReservationBookingFromHost(input: {
    appHelperUtils?: {
        action?: (payload: unknown) => void;
    } | undefined;
    reservationBiz?: string;
    associatedMenuListIds?: number[];
    reservationRuleProduct?: any | null;
    row?: PisellReservationTableRow | null;
}): boolean;
