import type { ScanOrderTempOrder } from '../types';
import type { BookingEditDrawerBookingState } from './types';
export interface BuildBookingEditDrawerStateInput {
    cacheItem: any;
    bookingConfig?: Record<string, any> | null;
    date?: string | null;
    customerId?: number | string;
    amountSymbol?: string;
    locale?: string;
    renderType?: string;
    resourcesOrigin?: any[];
    channelDisabledEdit?: boolean;
}
/**
 * 资源 / Holder 流程的客户 id：以 tempOrder 为订单真源。
 *
 * 优先级：tempOrder.customer_id → orderCustomerSnapshot → payload（如 OS CustomerModule 选中，可能为 walk-in）。
 * 避免 payload 为 walk-in(1) 时盖住订单已绑定的真实客户，导致抽屉内不展示 minor/Holder。
 */
export declare function resolveBookingEditCustomerId(tempOrder: ScanOrderTempOrder | null | undefined, payloadCustomerId?: number | string | null, orderCustomerSnapshotId?: number | string | null): number | string | undefined;
/** 加车流程与 {@link resolveBookingEditCustomerId} 同一套优先级。 */
export declare function resolveAddFlowCustomerId(tempOrder: ScanOrderTempOrder | null | undefined, payloadCustomerId?: number | string | null, orderCustomerSnapshotId?: number | string | null): number | string | undefined;
/**
 * 构造 Resources / Holder / Capacity 子组件所需的 state 快照（不依赖 miniRedux）。
 */
export declare function buildBookingEditDrawerState(input: BuildBookingEditDrawerStateInput): BookingEditDrawerBookingState;
