export type AcceptEuaData = EndUserAgreement;
export type AcceptEuaError = ErrorResponse;
export interface Account {
    bban?: string;
    created?: string;
    iban?: string;
    id?: string;
    institution_id?: string;
    last_accessed?: string;
    owner_name?: string;
    status?: string;
}
export interface AccountBalance {
    balances?: BalanceSchema[];
}
export interface AccountDetail {
    account: DetailSchema;
}
export interface AccountSchema {
    bban?: string;
    currency?: string;
    iban?: string;
    maskedPan?: string;
    msisdn?: string;
    pan?: string;
}
export interface AccountTransactions {
    transactions: BankTransaction;
}
export interface BalanceAmountSchema {
    amount: string;
    currency: string;
}
export interface BalanceSchema {
    balanceAmount: BalanceAmountSchema;
    balanceType: string;
    creditLimitIncluded?: boolean;
    lastChangeDateTime?: string;
    lastCommittedTransaction?: string;
    referenceDate?: string;
}
export interface BankTransaction {
    booked: TransactionSchema[];
    pending?: TransactionSchema[];
}
export type CreateEuaData = EndUserAgreement;
export type CreateEuaError = ErrorResponse;
export type CreateRequisitionData = SpectacularRequisition;
export type CreateRequisitionError = ErrorResponse;
export interface CurrencyExchangeSchema {
    contractIdentification?: string;
    exchangeRate?: string;
    quotationDate?: string;
    sourceCurrency?: string;
    targetCurrency?: string;
    unitCurrency?: string;
}
export type DeleteEuaByIdData = SuccessfulDeleteResponse;
export type DeleteEuaByIdError = ErrorResponse;
export type DeleteRequisitionByIdData = SuccessfulDeleteResponse;
export type DeleteRequisitionByIdError = ErrorResponse;
export interface DetailSchema {
    bban?: string;
    bic?: string;
    cashAccountType?: string;
    currency?: string;
    details?: string;
    displayName?: string;
    iban?: string;
    linkedAccounts?: string;
    maskedPan?: string;
    msisdn?: string;
    name?: string;
    ownerAddressStructured?: OwnerAddressStructuredSchema;
    ownerAddressUnstructured?: string[];
    ownerName?: string;
    product?: string;
    resourceId?: string;
    scan?: string;
    status?: string;
    usage?: string;
}
export interface EndUserAgreement {
    accepted?: string | null;
    access_scope?: any[];
    access_valid_for_days?: number;
    created?: string;
    id?: string;
    institution_id: string;
    max_historical_days?: number;
}
export interface EndUserAgreementRequest {
    access_scope?: any[];
    access_valid_for_days?: number;
    institution_id: string;
    max_historical_days?: number;
}
export interface EnduserAcceptanceDetailsRequest {
    ip_address: string;
    user_agent: string;
}
export interface ErrorResponse {
    detail: string;
    status_code: number;
    summary: string;
    type?: string;
}
export type GetANewAccessTokenData = SpectacularJWTRefresh;
export type GetANewAccessTokenError = ErrorResponse;
export interface Integration {
    bic?: string;
    countries: string[];
    id: string;
    logo: string;
    max_access_valid_for_days?: string;
    name: string;
    transaction_total_days?: string;
}
export interface IntegrationRetrieve {
    bic?: string;
    countries: string[];
    id: string;
    identification_codes: any[];
    logo: string;
    max_access_valid_for_days?: string;
    name: string;
    supported_features: any[];
    supported_payments: Record<string, any>;
    transaction_total_days?: string;
}
export interface JWTObtainPairRequest {
    secret_id: string;
    secret_key: string;
}
export interface JWTRefreshRequest {
    refresh: string;
}
export type ObtainNewAccessRefreshTokenPairData = SpectacularJWTObtain;
export type ObtainNewAccessRefreshTokenPairError = ErrorResponse;
export interface OwnerAddressStructuredSchema {
    buildingNumber?: string;
    country?: string;
    postCode?: string;
    streetName?: string;
    townName?: string;
}
export interface PaginatedEndUserAgreementList {
    count: number;
    next?: string | null;
    previous?: string | null;
    results: EndUserAgreement[];
}
export interface PaginatedRequisitionList {
    count: number;
    next?: string | null;
    previous?: string | null;
    results: Requisition[];
}
export interface Requisition {
    account_selection?: boolean;
    accounts?: string[];
    agreement?: string;
    created?: string | null;
    id?: string;
    institution_id: string;
    link?: string;
    redirect: string | null;
    redirect_immediate?: boolean;
    reference?: string;
    ssn?: string;
    status?: StatusEnum;
    user_language?: string;
}
export type RequisitionByIdData = Requisition;
export type RequisitionByIdError = ErrorResponse;
export interface RequisitionRequest {
    account_selection?: boolean;
    agreement?: string;
    institution_id: string;
    redirect: string | null;
    redirect_immediate?: boolean;
    reference?: string;
    ssn?: string;
    user_language?: string;
}
export type RetrieveAccountBalancesData = AccountBalance;
export type RetrieveAccountBalancesError = ErrorResponse;
export type RetrieveAccountDetailsData = AccountDetail;
export type RetrieveAccountDetailsError = ErrorResponse;
export type RetrieveAccountMetadataData = Account;
export type RetrieveAccountMetadataError = ErrorResponse;
export type RetrieveAccountTransactionsData = AccountTransactions;
export type RetrieveAccountTransactionsError = ErrorResponse;
export interface RetrieveAccountTransactionsParams {
    date_from?: string;
    date_to?: string;
    id: string;
}
export type RetrieveAllEuAsForAnEndUserData = PaginatedEndUserAgreementList;
export type RetrieveAllEuAsForAnEndUserError = ErrorResponse;
export interface RetrieveAllEuAsForAnEndUserParams {
    limit?: number;
    offset?: number;
}
export type RetrieveAllRequisitionsData = PaginatedRequisitionList;
export type RetrieveAllRequisitionsError = ErrorResponse;
export interface RetrieveAllRequisitionsParams {
    limit?: number;
    offset?: number;
}
export type RetrieveAllSupportedInstitutionsInAGivenCountryData = Integration[];
export type RetrieveAllSupportedInstitutionsInAGivenCountryError = ErrorResponse;
export interface RetrieveAllSupportedInstitutionsInAGivenCountryParams {
    access_scopes_supported?: string;
    account_selection_supported?: string;
    business_accounts_supported?: string;
    card_accounts_supported?: string;
    corporate_accounts_supported?: string;
    country?: string;
    payment_submission_supported?: string;
    payments_enabled?: string;
    pending_transactions_supported?: string;
    private_accounts_supported?: string;
    read_debtor_account_supported?: string;
    read_refund_account_supported?: string;
    ssn_verification_supported?: string;
}
export type RetrieveEuaByIdData = EndUserAgreement;
export type RetrieveEuaByIdError = ErrorResponse;
export type RetrieveInstitutionData = IntegrationRetrieve;
export type RetrieveInstitutionError = ErrorResponse;
export interface SpectacularJWTObtain {
    access?: string;
    access_expires?: number;
    refresh?: string;
    refresh_expires?: number;
}
export interface SpectacularJWTRefresh {
    access?: string;
    access_expires?: number;
}
export interface SpectacularRequisition {
    account_selection?: boolean;
    accounts?: any[];
    agreement?: string;
    created?: string | null;
    id?: string;
    institution_id: string;
    link?: string;
    redirect: string | null;
    redirect_immediate?: boolean;
    reference?: string;
    ssn?: string;
    status?: StatusEnum;
    user_language?: string;
}
export declare enum StatusEnum {
    CR = "CR",
    ID = "ID",
    LN = "LN",
    RJ = "RJ",
    ER = "ER",
    SU = "SU",
    EX = "EX",
    GC = "GC",
    UA = "UA",
    GA = "GA",
    SA = "SA"
}
export interface SuccessfulDeleteResponse {
    detail: string;
    summary: string;
}
export interface TransactionAmountSchema {
    amount: string;
    currency: string;
}
export interface TransactionSchema {
    additionalInformation?: string;
    bankTransactionCode?: string;
    bookingDate?: string;
    bookingDateTime?: string;
    checkId?: string;
    creditorAccount?: AccountSchema;
    creditorId?: string;
    creditorName?: string;
    currencyExchange?: CurrencyExchangeSchema[];
    debtorAccount?: AccountSchema;
    debtorName?: string;
    endToEndId?: string;
    entryReference?: string;
    internalTransactionId?: string;
    mandateId?: string;
    proprietaryBankTransactionCode?: string;
    purposeCode?: string;
    remittanceInformationStructured?: string;
    remittanceInformationStructuredArray?: string[];
    remittanceInformationUnstructured?: string;
    remittanceInformationUnstructuredArray?: string[];
    transactionAmount: TransactionAmountSchema;
    transactionId?: string;
    ultimateCreditor?: string;
    ultimateDebtor?: string;
    valueDate?: string;
    valueDateTime?: string;
}
