/**
 * 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 { PaymentTerminal, PaymentTerminalCreate, PaymentTerminalTransactionSummaryReference, PaymentTerminalUpdate, SortingOrder, TerminalListResponse, TerminalSearchResponse, Transaction } from '../models/index';
export interface DeletePaymentTerminalsIdRequest {
    id: number;
    space: number;
}
export interface GetPaymentTerminalsRequest {
    space: number;
    after?: number;
    before?: number;
    expand?: Set<string>;
    limit?: number;
    order?: SortingOrder;
}
export interface GetPaymentTerminalsIdRequest {
    id: number;
    space: number;
    expand?: Set<string>;
}
export interface GetPaymentTerminalsIdTillConnectionCredentialsRequest {
    id: number;
    transactionId: number;
    space: number;
    language?: string;
}
export interface GetPaymentTerminalsSearchRequest {
    space: number;
    expand?: Set<string>;
    limit?: number;
    offset?: number;
    order?: string;
    query?: string;
}
export interface PatchPaymentTerminalsIdRequest {
    id: number;
    space: number;
    paymentTerminalUpdate: PaymentTerminalUpdate;
    expand?: Set<string>;
}
export interface PostPaymentTerminalsRequest {
    space: number;
    paymentTerminalCreate: PaymentTerminalCreate;
    expand?: Set<string>;
}
export interface PostPaymentTerminalsByIdentifierIdentifierPerformTransactionRequest {
    transactionId: number;
    identifier: string;
    space: number;
    language?: string;
    expand?: Set<string>;
}
export interface PostPaymentTerminalsByIdentifierIdentifierTriggerFinalBalanceRequest {
    identifier: string;
    space: number;
}
export interface PostPaymentTerminalsIdLinkRequest {
    id: number;
    serialNumber: string;
    space: number;
}
export interface PostPaymentTerminalsIdPerformTransactionRequest {
    id: number;
    transactionId: number;
    space: number;
    language?: string;
    expand?: Set<string>;
}
export interface PostPaymentTerminalsIdTriggerFinalBalanceRequest {
    id: number;
    space: number;
}
export interface PostPaymentTerminalsIdUnlinkRequest {
    id: number;
    space: number;
}
/**
 *
 */
export declare class PaymentTerminalsService extends runtime.BaseAPI {
    constructor(configuration: runtime.Configuration);
    /**
     * Permanently deletes a payment terminal. It cannot be undone.
     * Delete a payment terminal
     
     */
    deletePaymentTerminalsIdRaw(requestParameters: DeletePaymentTerminalsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Permanently deletes a payment terminal. It cannot be undone.
     * Delete a payment terminal
     
     */
    deletePaymentTerminalsId(requestParameters: DeletePaymentTerminalsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * List all payment terminals
     
     */
    getPaymentTerminalsRaw(requestParameters: GetPaymentTerminalsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TerminalListResponse>>;
    /**
     * List all payment terminals
     
     */
    getPaymentTerminals(requestParameters: GetPaymentTerminalsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TerminalListResponse>;
    /**
     * Retrieve a payment terminal
     
     */
    getPaymentTerminalsIdRaw(requestParameters: GetPaymentTerminalsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentTerminal>>;
    /**
     * Retrieve a payment terminal
     
     */
    getPaymentTerminalsId(requestParameters: GetPaymentTerminalsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentTerminal>;
    /**
     * Retrieve till connection credentials
     
     */
    getPaymentTerminalsIdTillConnectionCredentialsRaw(requestParameters: GetPaymentTerminalsIdTillConnectionCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * Retrieve till connection credentials
     
     */
    getPaymentTerminalsIdTillConnectionCredentials(requestParameters: GetPaymentTerminalsIdTillConnectionCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
    /**
     * Search payment terminals
     
     */
    getPaymentTerminalsSearchRaw(requestParameters: GetPaymentTerminalsSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TerminalSearchResponse>>;
    /**
     * Search payment terminals
     
     */
    getPaymentTerminalsSearch(requestParameters: GetPaymentTerminalsSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TerminalSearchResponse>;
    /**
     * Update a payment terminal
     
     */
    patchPaymentTerminalsIdRaw(requestParameters: PatchPaymentTerminalsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentTerminal>>;
    /**
     * Update a payment terminal
     
     */
    patchPaymentTerminalsId(requestParameters: PatchPaymentTerminalsIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentTerminal>;
    /**
     * Create a payment terminal
     
     */
    postPaymentTerminalsRaw(requestParameters: PostPaymentTerminalsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentTerminal>>;
    /**
     * Create a payment terminal
     
     */
    postPaymentTerminals(requestParameters: PostPaymentTerminalsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentTerminal>;
    /**
     * Initiates a payment terminal transaction and waits for its completion. If a timeout occurs, retrying will resume the transaction from where it left off.
     * Perform a payment terminal transaction by identifier
     
     * (The read time out for this request is 90 seconds)
     */
    postPaymentTerminalsByIdentifierIdentifierPerformTransactionRaw(requestParameters: PostPaymentTerminalsByIdentifierIdentifierPerformTransactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Transaction>>;
    /**
     * Initiates a payment terminal transaction and waits for its completion. If a timeout occurs, retrying will resume the transaction from where it left off.
     * Perform a payment terminal transaction by identifier
     
     * (The read time out for this request is 90 seconds)
     */
    postPaymentTerminalsByIdentifierIdentifierPerformTransaction(requestParameters: PostPaymentTerminalsByIdentifierIdentifierPerformTransactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Transaction>;
    /**
     * Remotely trigger the final balance by identifier
     
     */
    postPaymentTerminalsByIdentifierIdentifierTriggerFinalBalanceRaw(requestParameters: PostPaymentTerminalsByIdentifierIdentifierTriggerFinalBalanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentTerminalTransactionSummaryReference>>;
    /**
     * Remotely trigger the final balance by identifier
     
     */
    postPaymentTerminalsByIdentifierIdentifierTriggerFinalBalance(requestParameters: PostPaymentTerminalsByIdentifierIdentifierTriggerFinalBalanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentTerminalTransactionSummaryReference>;
    /**
     * Link a device with a payment terminal
     
     */
    postPaymentTerminalsIdLinkRaw(requestParameters: PostPaymentTerminalsIdLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Link a device with a payment terminal
     
     */
    postPaymentTerminalsIdLink(requestParameters: PostPaymentTerminalsIdLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Initiates a payment terminal transaction and waits for its completion. If a timeout occurs, retrying will resume the transaction from where it left off.
     * Perform a payment terminal transaction
     
     * (The read time out for this request is 90 seconds)
     */
    postPaymentTerminalsIdPerformTransactionRaw(requestParameters: PostPaymentTerminalsIdPerformTransactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Transaction>>;
    /**
     * Initiates a payment terminal transaction and waits for its completion. If a timeout occurs, retrying will resume the transaction from where it left off.
     * Perform a payment terminal transaction
     
     * (The read time out for this request is 90 seconds)
     */
    postPaymentTerminalsIdPerformTransaction(requestParameters: PostPaymentTerminalsIdPerformTransactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Transaction>;
    /**
     * Remotely trigger the final balance
     
     */
    postPaymentTerminalsIdTriggerFinalBalanceRaw(requestParameters: PostPaymentTerminalsIdTriggerFinalBalanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentTerminalTransactionSummaryReference>>;
    /**
     * Remotely trigger the final balance
     
     */
    postPaymentTerminalsIdTriggerFinalBalance(requestParameters: PostPaymentTerminalsIdTriggerFinalBalanceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentTerminalTransactionSummaryReference>;
    /**
     * Unlink any device from a payment terminal
     
     */
    postPaymentTerminalsIdUnlinkRaw(requestParameters: PostPaymentTerminalsIdUnlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Unlink any device from a payment terminal
     
     */
    postPaymentTerminalsIdUnlink(requestParameters: PostPaymentTerminalsIdUnlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
}
