import { BaseResponsiveProps } from "../../responsive/type.js";
import { SalesSdkCartContextValue, SalesSdkContextValue, SalesSdkCustomerContextValue, SalesSdkProviderProps, SalesSdkSummaryContextValue } from "../salesSdk/types.js";
//#region src/plus/saleDetail/types.d.ts
type SaleDetailRenderType = 'current' | 'modal' | 'drawer';
type SaleDetailTemplate = 'A' | 'B';
interface SaleDetailDataSource {
  sales: SalesSdkContextValue;
  customer: SalesSdkCustomerContextValue;
  cart: SalesSdkCartContextValue;
  summary: SalesSdkSummaryContextValue;
}
interface SaleDetailBaseProps extends BaseResponsiveProps {
  dataSource?: SaleDetailDataSource;
  tmpl?: SaleDetailTemplate;
  template?: SaleDetailTemplate;
}
interface SaleDetailSdkProviderProps {
  osProps: Pick<SalesSdkProviderProps, 'osKey' | 'orderId' | 'autoBootstrap' | 'businessCode' | 'otherParams' | 'rulesHooks'>;
}
type SaleDetailBaseComponentProps = SaleDetailBaseProps & ({
  renderType?: 'current';
  containerProps?: never;
} | {
  renderType: Exclude<SaleDetailRenderType, 'current'>;
  containerProps: Record<string, unknown>;
});
type SaleDetailProps = SaleDetailBaseComponentProps & SaleDetailSdkProviderProps;
//#endregion
export { SaleDetailBaseComponentProps, SaleDetailDataSource, SaleDetailProps, SaleDetailRenderType, SaleDetailTemplate };