import { OpenAPIClient, Parameters, UnknownParamsObject, AxiosRequestConfig, OperationResponse } from 'openapi-client-axios';

/* Auto-copied from iban-client */
/* eslint-disable */



declare namespace Components {
    namespace Schemas {
        /**
         * Error
         */
        export interface Error {
            status?: string;
            error?: string;
        }
    }
}
declare namespace Paths {
    namespace ValidateIban {
        export interface RequestBody {
            /**
             * IBAN to be validated
             */
            iban: string;
        }
        namespace Responses {
            export interface $201 {
            }
            export type $400 = /* Error */ Components.Schemas.Error;
            export type $500 = /* Error */ Components.Schemas.Error;
        }
    }
}


interface OperationMethods {
  /**
   * validateIban - validateIban
   * 
   * Validate an Iban
   */
  'validateIban'(
    parameters?: Parameters<UnknownParamsObject> | null,
    data?: Paths.ValidateIban.RequestBody,
    config?: AxiosRequestConfig  
  ): OperationResponse<Paths.ValidateIban.Responses.$201>
}

interface PathsDictionary {
  ['/v1/public/iban:validate']: {
    /**
     * validateIban - validateIban
     * 
     * Validate an Iban
     */
    'post'(
      parameters?: Parameters<UnknownParamsObject> | null,
      data?: Paths.ValidateIban.RequestBody,
      config?: AxiosRequestConfig  
    ): OperationResponse<Paths.ValidateIban.Responses.$201>
  }
}

type Client = OpenAPIClient<OperationMethods, PathsDictionary>


type Error = Components.Schemas.Error;

export { type Client as C, type Error as E, type OperationMethods as O, Paths as P, Components as a, type PathsDictionary as b };
