import { OrderStatus, TransactionBaseService } from "@medusajs/medusa";
type OrdersRegionsPopularity = {
    date: string;
    orderCount: number;
    regionId: string;
    regionName: string;
};
type OrdersRegionsPopularityResult = {
    dateRangeFrom?: number;
    dateRangeTo?: number;
    dateRangeFromCompareTo?: number;
    dateRangeToCompareTo?: number;
    current: OrdersRegionsPopularity[];
    previous: OrdersRegionsPopularity[];
};
type OrdersSalesChannelPopularity = {
    date: string;
    orderCount: number;
    salesChannelId: string;
    salesChannelName: string;
};
type OrdersSalesChannelPopularityResult = {
    dateRangeFrom?: number;
    dateRangeTo?: number;
    dateRangeFromCompareTo?: number;
    dateRangeToCompareTo?: number;
    current: OrdersSalesChannelPopularity[];
    previous: OrdersSalesChannelPopularity[];
};
type SalesHistory = {
    date: Date;
    total: string;
};
export type SalesHistoryResult = {
    currencyCode: string;
    currencyDecimalDigits: number;
    dateRangeFrom?: number;
    dateRangeTo?: number;
    dateRangeFromCompareTo?: number;
    dateRangeToCompareTo?: number;
    current: SalesHistory[];
    previous: SalesHistory[];
};
type RefundsResult = {
    currencyCode: string;
    currencyDecimalDigits: number;
    dateRangeFrom?: number;
    dateRangeTo?: number;
    dateRangeFromCompareTo?: number;
    dateRangeToCompareTo?: number;
    current: string;
    previous: string;
};
export default class SalesAnalyticsService extends TransactionBaseService {
    private readonly orderService;
    constructor(container: any);
    getOrdersSales(orderStatuses: OrderStatus[], currencyCode: string, from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<SalesHistoryResult>;
    getSalesChannelsPopularity(orderStatuses: OrderStatus[], from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<OrdersSalesChannelPopularityResult>;
    getRegionsPopularity(orderStatuses: OrderStatus[], from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<OrdersRegionsPopularityResult>;
    getRefunds(currencyCode: string, from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<RefundsResult>;
}
export {};
