/**
 * Wallee AG TypeScript SDK
 *
 * This library allows to interact with the Wallee AG payment service.
 *
 * Copyright owner: Wallee AG
 * Website: https://en.wallee.com
 * Developer email: ecosystem-team@wallee.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import * as runtime from '../runtime';
import type { DebtCollectionCase, DebtCollectionCaseCreate, DebtCollectionCaseDocument, DebtCollectionCaseDocumentListResponse, DebtCollectionCaseListResponse, DebtCollectionCaseSearchResponse, DebtCollectionCaseUpdate, DebtCollectionReceipt, SortingOrder } from '../models/index';
export interface DeleteDebtCollectionCasesIdRequest {
    id: number;
    space: number;
}
export interface GetDebtCollectionCasesRequest {
    space: number;
    after?: number;
    before?: number;
    expand?: Set<string>;
    limit?: number;
    order?: SortingOrder;
}
export interface GetDebtCollectionCasesIdRequest {
    id: number;
    space: number;
    expand?: Set<string>;
}
export interface GetDebtCollectionCasesIdDocumentsRequest {
    id: number;
    space: number;
    expand?: Set<string>;
}
export interface GetDebtCollectionCasesSearchRequest {
    space: number;
    expand?: Set<string>;
    limit?: number;
    offset?: number;
    order?: string;
    query?: string;
}
export interface PatchDebtCollectionCasesIdRequest {
    id: number;
    space: number;
    debtCollectionCaseUpdate: DebtCollectionCaseUpdate;
    expand?: Set<string>;
}
export interface PostDebtCollectionCasesRequest {
    space: number;
    debtCollectionCaseCreate: DebtCollectionCaseCreate;
    expand?: Set<string>;
}
export interface PostDebtCollectionCasesIdCloseRequest {
    id: number;
    space: number;
    expand?: Set<string>;
}
export interface PostDebtCollectionCasesIdDocumentsRequest {
    id: number;
    fileName: string;
    content: string;
    space: number;
    expand?: Set<string>;
}
export interface PostDebtCollectionCasesIdMarkPreparedRequest {
    id: number;
    space: number;
    expand?: Set<string>;
}
export interface PostDebtCollectionCasesIdMarkReviewedRequest {
    id: number;
    space: number;
    expand?: Set<string>;
}
export interface PostDebtCollectionCasesIdPaymentReceiptsRequest {
    id: number;
    collectedAmount: number;
    externalId: string;
    space: number;
    expand?: Set<string>;
}
/**
 *
 */
export declare class DebtCollectionCasesService extends runtime.BaseAPI {
    constructor(configuration: runtime.Configuration);
    /**
     * Delete a debt collection case
     
     */
    deleteDebtCollectionCasesIdRaw(requestParameters: DeleteDebtCollectionCasesIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a debt collection case
     
     */
    deleteDebtCollectionCasesId(requestParameters: DeleteDebtCollectionCasesIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * List all debt collection cases
     
     */
    getDebtCollectionCasesRaw(requestParameters: GetDebtCollectionCasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCaseListResponse>>;
    /**
     * List all debt collection cases
     
     */
    getDebtCollectionCases(requestParameters: GetDebtCollectionCasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCaseListResponse>;
    /**
     * Retrieve a debt collection case
     
     */
    getDebtCollectionCasesIdRaw(requestParameters: GetDebtCollectionCasesIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCase>>;
    /**
     * Retrieve a debt collection case
     
     */
    getDebtCollectionCasesId(requestParameters: GetDebtCollectionCasesIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCase>;
    /**
     * Retrieve all documents of a debt collection case
     
     */
    getDebtCollectionCasesIdDocumentsRaw(requestParameters: GetDebtCollectionCasesIdDocumentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCaseDocumentListResponse>>;
    /**
     * Retrieve all documents of a debt collection case
     
     */
    getDebtCollectionCasesIdDocuments(requestParameters: GetDebtCollectionCasesIdDocumentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCaseDocumentListResponse>;
    /**
     * Search debt collection cases
     
     */
    getDebtCollectionCasesSearchRaw(requestParameters: GetDebtCollectionCasesSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCaseSearchResponse>>;
    /**
     * Search debt collection cases
     
     */
    getDebtCollectionCasesSearch(requestParameters: GetDebtCollectionCasesSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCaseSearchResponse>;
    /**
     * Update a debt collection case
     
     */
    patchDebtCollectionCasesIdRaw(requestParameters: PatchDebtCollectionCasesIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCase>>;
    /**
     * Update a debt collection case
     
     */
    patchDebtCollectionCasesId(requestParameters: PatchDebtCollectionCasesIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCase>;
    /**
     * Create a debt collection case
     
     */
    postDebtCollectionCasesRaw(requestParameters: PostDebtCollectionCasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCase>>;
    /**
     * Create a debt collection case
     
     */
    postDebtCollectionCases(requestParameters: PostDebtCollectionCasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCase>;
    /**
     * Close a debt collection case
     
     */
    postDebtCollectionCasesIdCloseRaw(requestParameters: PostDebtCollectionCasesIdCloseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCase>>;
    /**
     * Close a debt collection case
     
     */
    postDebtCollectionCasesIdClose(requestParameters: PostDebtCollectionCasesIdCloseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCase>;
    /**
     * Attach a document to a debt collection case
     
     */
    postDebtCollectionCasesIdDocumentsRaw(requestParameters: PostDebtCollectionCasesIdDocumentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCaseDocument>>;
    /**
     * Attach a document to a debt collection case
     
     */
    postDebtCollectionCasesIdDocuments(requestParameters: PostDebtCollectionCasesIdDocumentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCaseDocument>;
    /**
     * Mark a debt collection case as prepared
     
     */
    postDebtCollectionCasesIdMarkPreparedRaw(requestParameters: PostDebtCollectionCasesIdMarkPreparedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCase>>;
    /**
     * Mark a debt collection case as prepared
     
     */
    postDebtCollectionCasesIdMarkPrepared(requestParameters: PostDebtCollectionCasesIdMarkPreparedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCase>;
    /**
     * Mark a debt collection case as reviewed
     
     */
    postDebtCollectionCasesIdMarkReviewedRaw(requestParameters: PostDebtCollectionCasesIdMarkReviewedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionCase>>;
    /**
     * Mark a debt collection case as reviewed
     
     */
    postDebtCollectionCasesIdMarkReviewed(requestParameters: PostDebtCollectionCasesIdMarkReviewedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionCase>;
    /**
     * Create a payment receipt for a debt collection case
     
     */
    postDebtCollectionCasesIdPaymentReceiptsRaw(requestParameters: PostDebtCollectionCasesIdPaymentReceiptsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebtCollectionReceipt>>;
    /**
     * Create a payment receipt for a debt collection case
     
     */
    postDebtCollectionCasesIdPaymentReceipts(requestParameters: PostDebtCollectionCasesIdPaymentReceiptsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebtCollectionReceipt>;
}
