/**
 * 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 { InvoiceCommentListResponse, InvoiceCommentSearchResponse, SortingOrder, TransactionInvoiceComment, TransactionInvoiceCommentActive, TransactionInvoiceCommentCreate } from '../models/index';
export interface DeletePaymentTransactionsInvoicesInvoiceIdCommentsIdRequest {
    invoiceId: number;
    id: number;
    space: number;
}
export interface GetPaymentTransactionsInvoicesInvoiceIdCommentsRequest {
    invoiceId: number;
    space: number;
    after?: number;
    before?: number;
    expand?: Set<string>;
    limit?: number;
    order?: SortingOrder;
}
export interface GetPaymentTransactionsInvoicesInvoiceIdCommentsIdRequest {
    invoiceId: number;
    id: number;
    space: number;
    expand?: Set<string>;
}
export interface GetPaymentTransactionsInvoicesInvoiceIdCommentsSearchRequest {
    invoiceId: number;
    space: number;
    expand?: Set<string>;
    limit?: number;
    offset?: number;
    order?: string;
    query?: string;
}
export interface PatchPaymentTransactionsInvoicesInvoiceIdCommentsIdRequest {
    invoiceId: number;
    id: number;
    space: number;
    transactionInvoiceCommentActive: TransactionInvoiceCommentActive;
    expand?: Set<string>;
}
export interface PostPaymentTransactionsInvoicesInvoiceIdCommentsRequest {
    invoiceId: number;
    space: number;
    transactionInvoiceCommentCreate: TransactionInvoiceCommentCreate;
    expand?: Set<string>;
}
export interface PostPaymentTransactionsInvoicesInvoiceIdCommentsIdPinRequest {
    invoiceId: number;
    id: number;
    space: number;
}
export interface PostPaymentTransactionsInvoicesInvoiceIdCommentsIdUnpinRequest {
    invoiceId: number;
    id: number;
    space: number;
}
/**
 *
 */
export declare class TransactionInvoiceCommentsService extends runtime.BaseAPI {
    constructor(configuration: runtime.Configuration);
    /**
     * Delete a transaction comment
     
     */
    deletePaymentTransactionsInvoicesInvoiceIdCommentsIdRaw(requestParameters: DeletePaymentTransactionsInvoicesInvoiceIdCommentsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a transaction comment
     
     */
    deletePaymentTransactionsInvoicesInvoiceIdCommentsId(requestParameters: DeletePaymentTransactionsInvoicesInvoiceIdCommentsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * List all transaction invoice comments
     
     */
    getPaymentTransactionsInvoicesInvoiceIdCommentsRaw(requestParameters: GetPaymentTransactionsInvoicesInvoiceIdCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InvoiceCommentListResponse>>;
    /**
     * List all transaction invoice comments
     
     */
    getPaymentTransactionsInvoicesInvoiceIdComments(requestParameters: GetPaymentTransactionsInvoicesInvoiceIdCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InvoiceCommentListResponse>;
    /**
     * Retrieve a transaction invoice comment
     
     */
    getPaymentTransactionsInvoicesInvoiceIdCommentsIdRaw(requestParameters: GetPaymentTransactionsInvoicesInvoiceIdCommentsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TransactionInvoiceComment>>;
    /**
     * Retrieve a transaction invoice comment
     
     */
    getPaymentTransactionsInvoicesInvoiceIdCommentsId(requestParameters: GetPaymentTransactionsInvoicesInvoiceIdCommentsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TransactionInvoiceComment>;
    /**
     * Search transaction invoice comments
     
     */
    getPaymentTransactionsInvoicesInvoiceIdCommentsSearchRaw(requestParameters: GetPaymentTransactionsInvoicesInvoiceIdCommentsSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InvoiceCommentSearchResponse>>;
    /**
     * Search transaction invoice comments
     
     */
    getPaymentTransactionsInvoicesInvoiceIdCommentsSearch(requestParameters: GetPaymentTransactionsInvoicesInvoiceIdCommentsSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InvoiceCommentSearchResponse>;
    /**
     * Update a transaction comment
     
     */
    patchPaymentTransactionsInvoicesInvoiceIdCommentsIdRaw(requestParameters: PatchPaymentTransactionsInvoicesInvoiceIdCommentsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TransactionInvoiceComment>>;
    /**
     * Update a transaction comment
     
     */
    patchPaymentTransactionsInvoicesInvoiceIdCommentsId(requestParameters: PatchPaymentTransactionsInvoicesInvoiceIdCommentsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TransactionInvoiceComment>;
    /**
     * Create a transaction invoice comment
     
     */
    postPaymentTransactionsInvoicesInvoiceIdCommentsRaw(requestParameters: PostPaymentTransactionsInvoicesInvoiceIdCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TransactionInvoiceComment>>;
    /**
     * Create a transaction invoice comment
     
     */
    postPaymentTransactionsInvoicesInvoiceIdComments(requestParameters: PostPaymentTransactionsInvoicesInvoiceIdCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TransactionInvoiceComment>;
    /**
     * Pin a comment to the top
     
     */
    postPaymentTransactionsInvoicesInvoiceIdCommentsIdPinRaw(requestParameters: PostPaymentTransactionsInvoicesInvoiceIdCommentsIdPinRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Pin a comment to the top
     
     */
    postPaymentTransactionsInvoicesInvoiceIdCommentsIdPin(requestParameters: PostPaymentTransactionsInvoicesInvoiceIdCommentsIdPinRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Remove the pinned comment from the top
     
     */
    postPaymentTransactionsInvoicesInvoiceIdCommentsIdUnpinRaw(requestParameters: PostPaymentTransactionsInvoicesInvoiceIdCommentsIdUnpinRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Remove the pinned comment from the top
     
     */
    postPaymentTransactionsInvoicesInvoiceIdCommentsIdUnpin(requestParameters: PostPaymentTransactionsInvoicesInvoiceIdCommentsIdUnpinRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
}
