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