import { Dispute, FleetType } from '@bringg/types';
import { Task } from '../ApiTypes/ApiTypes';
export declare enum EDisputeStatus {
    NotDisputed = 0,
    LateArrival = 1,
    ProductDamage = 2
}
export declare enum OrderBy {
    ASC = "ASC",
    DESC = "DESC"
}
export type Order = Task & {
    date?: number;
    team_name?: string;
    team_external_id?: number;
    fleet_name?: string;
    fleet_type?: FleetType;
    service_fee?: number;
    small_cart_fee?: number;
    refunded?: number;
    refund_reason?: string;
    refund_comment?: string;
    refunded_status_date?: string;
    dispute_status?: EDisputeStatus;
    task_id?: number;
    task_external_id?: string;
    event_type?: string;
    refund_amount?: number;
    refund_reasons?: string[];
    refund_comments?: string[];
    refund_approval_dates?: string[];
};
export declare enum TaskSortableFields {
    Date = "date",
    DeliveryPrice = "delivery_price",
    DeliveryCost = "delivery_cost",
    TotalPrice = "total_price",
    Status = "status"
}
export type GetRequestPayload = {
    limit?: number;
    offset?: number;
    sortBy?: TaskSortableFields;
    orderBy?: OrderBy;
    taskDateStart?: string;
    taskDateEnd?: string;
    fleetIds?: number[];
    teamIds?: number[];
    task_external_id?: string;
};
export type GetDateDependentFiltersRequest = {
    taskDateStart?: string;
    taskDateEnd?: string;
};
export type GetDateDependentFiltersPayload = {
    taskDateStart?: string;
    taskDateEnd?: string;
    name?: string;
    orderBy?: OrderBy;
    limit?: number;
    offset?: number;
};
export type Option = {
    id: number;
    name: string;
};
export type FleetOption = Option & {
    delivery_provider_id: number | null;
    rate_cards_enabled: boolean;
};
export type GetAggregatedTasksRequest = {
    taskDateStart?: string;
    taskDateEnd?: string;
    fleetIds?: number[];
    teamIds?: number[];
};
export type GetReportPayload = GetAggregatedTasksRequest & {
    sortBy?: TaskSortableFields;
    orderBy?: OrderBy;
    attributes?: string[];
    aliases?: string[];
};
export type AggregatedResponseItem = {
    fleet_id: number;
    fleet_name: string;
    delivery_provider_id: number | null;
    count: number;
    refund_amount: number;
    delivery_cost: number;
    estimated_delivery_cost: number;
    delivery_costs: (number | null)[];
    delivery_price: number;
    total_price: number;
    tax_price: number;
    price_before_tax: number;
    tip: number;
    pre_delivery_tip: number;
    post_delivery_tip_cash: number;
    post_delivery_tip_credit: number;
    discount: number;
    internal_fee: number;
    small_cart_fee: number;
    service_fee: number;
};
export type AggregatedByDaysResponseItem = {
    count: number;
    fleet_name: string;
    fleet_id: number | null;
    date: number;
};
export declare enum RefundType {
    Refund = "REFUND",
    Cancelled = "CANCELLED",
    Completed = "COMPLETED"
}
export type RefundsResponseItem = {
    fleet_id: number;
    fleet_name: string;
    task_id: number;
    task_external_id: string;
    team_id: number;
    team_external_id: number;
    team_name: string;
    refund_amount: number;
    refund_comment: string;
    refund_reason: string;
    event_time: string;
    event_type: RefundType;
    date: number;
};
export type PostDisputePayload = Pick<Dispute, 'task_id' | 'reason' | 'comment' | 'email'>;
export type GetDisputesByTaskIdsPayload = {
    task_ids: number[];
};
