import { FilePurpose, GetReturnFieldGroupEnum } from '../../../../enums/index.js';
import { CheckEligibilityRequest, CloseReturnRequest, CreateReturnRequest, DecideReturnRequest, EscalateRequest, GetEstimateRequest, MarkAsReceivedRequest, MarkAsShippedRequest, MarkRefundSentRequest, PostOrderIssueRefundRequest, ProvideLabelRequest, ReturnRequestType, SearchReturnParams, SendMessageRequest, SetReturnCreationSessionRequest, UpdateTrackingRequest, UploadFileRequest, VoidLabelRequest } from '../../../../types/index.js';
import Restful from '../../index.js';
export default class Return extends Restful {
    static id: string;
    get basePath(): string;
    get useIaf(): boolean;
    addShippingLabelInfo(returnId: string, payload: ProvideLabelRequest): Promise<any>;
    cancelReturnRequest(returnId: string, payload?: CloseReturnRequest): Promise<any>;
    checkReturnEligibility(payload: CheckEligibilityRequest): Promise<any>;
    checkShippingLabelEligibility(returnId: string): Promise<any>;
    createReturnDraft(payload: SetReturnCreationSessionRequest): Promise<any>;
    createReturnRequest(payload: CreateReturnRequest, fieldGroups?: GetReturnFieldGroupEnum | `${GetReturnFieldGroupEnum}`): Promise<any>;
    createReturnShippingLabel(returnId: string): Promise<any>;
    deleteReturnDraftFile(draftId: string, fileId: string): Promise<any>;
    escalateReturn(returnId: string, payload?: EscalateRequest): Promise<any>;
    getReturn(returnId: string, fieldGroups?: GetReturnFieldGroupEnum | `${GetReturnFieldGroupEnum}`): Promise<any>;
    getReturnDraft(returnId: string): Promise<any>;
    getReturnDraftFiles(returnId: string): Promise<any>;
    getReturnEstimate(payload: GetEstimateRequest): Promise<any>;
    getReturnFiles(returnId: string): Promise<any>;
    getReturnPreferences(): Promise<any>;
    getReturnShippingLabel(returnId: string): Promise<any>;
    getShipmentTrackingInfo(returnId: string, carrierUsed: string, trackingNumber: string): Promise<any>;
    issueReturnRefund(returnId: string, payload: PostOrderIssueRefundRequest): Promise<any>;
    markReturnReceived(returnId: string, payload?: MarkAsReceivedRequest): Promise<any>;
    markReturnRefundReceived(returnId: string): Promise<any>;
    markReturnRefundSent(returnId: string, payload: MarkRefundSentRequest): Promise<any>;
    markReturnShipped(returnId: string, payload?: MarkAsShippedRequest): Promise<any>;
    processReturnRequest(returnId: string, payload: DecideReturnRequest): Promise<any>;
    search(params: SearchReturnParams): Promise<any>;
    sendReturnMessage(returnId: string, payload?: SendMessageRequest): Promise<any>;
    sendReturnShippingLabel(returnId: string, toEmailAddress?: string): Promise<any>;
    setReturnPreferences(rmaRequired: boolean): Promise<any>;
    submitReturnFile(returnId: string, filePurpose?: FilePurpose | keyof typeof FilePurpose): Promise<any>;
    updateReturnDraft(draftId: string, returnRequest: ReturnRequestType): Promise<any>;
    updateShipmentTrackingInfo(returnId: string, payload: UpdateTrackingRequest): Promise<any>;
    uploadReturnDraftFile(draftId: string, payload: UploadFileRequest): Promise<any>;
    uploadReturnFile(returnId: string, payload: UploadFileRequest): Promise<any>;
    voidShippingLabel(returnId: string, payload: VoidLabelRequest): Promise<any>;
}
