import { OrderReturn, CreateReturnRequest, UpdateReturnRequest, ReturnListParams, ReturnSummary, ReturnLabelRequest, ReturnLabel } from '../types/return';
import { BaseResource } from './base';
export declare class ReturnResource extends BaseResource {
    /**
     * Get list of order returns
     */
    list(params?: ReturnListParams): Promise<{
        data: OrderReturn[];
    }>;
    /**
     * Get return by ID
     */
    getById(returnId: string): Promise<OrderReturn>;
    /**
     * Create new return
     */
    create(data: CreateReturnRequest): Promise<OrderReturn>;
    /**
     * Update return
     */
    update(returnId: string, data: UpdateReturnRequest): Promise<OrderReturn>;
    /**
     * Cancel return
     */
    cancel(returnId: string, reason?: string): Promise<OrderReturn>;
    /**
     * Approve return
     */
    approve(returnId: string, data?: {
        refund_method?: string;
        refund_amount?: number;
        note?: string;
    }): Promise<OrderReturn>;
    /**
     * Reject return
     */
    reject(returnId: string, reason: string): Promise<OrderReturn>;
    /**
     * Complete return
     */
    complete(returnId: string, data?: {
        note?: string;
        received_items?: {
            product_id: string;
            variation_id: string;
            quantity: number;
            condition: string;
        }[];
    }): Promise<OrderReturn>;
    /**
     * Get return statistics
     */
    getStats(params?: {
        from_date?: string;
        to_date?: string;
    }): Promise<ReturnSummary>;
    /**
     * Get returns by order
     */
    getByOrder(orderId: string): Promise<{
        data: OrderReturn[];
    }>;
    /**
     * Generate return label
     */
    generateLabel(returnId: string, data: ReturnLabelRequest): Promise<ReturnLabel>;
    /**
     * Get return shipping rates
     */
    getShippingRates(returnId: string): Promise<{
        carrier: string;
        service: string;
        rate: number;
        estimated_days: number;
    }[]>;
    /**
     * Add note to return
     */
    addNote(returnId: string, note: string): Promise<{
        id: string;
        note: string;
        created_by: {
            id: string;
            name: string;
        };
        created_at: string;
    }>;
    /**
     * Get return notes
     */
    getNotes(returnId: string): Promise<{
        data: {
            id: string;
            note: string;
            created_by: {
                id: string;
                name: string;
            };
            created_at: string;
        }[];
    }>;
}
