import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AccountTypeFilter } from '../model/accountTypeFilter';
import { AutocompleteAccount } from '../model/autocompleteAccount';
import { AutocompleteBill } from '../model/autocompleteBill';
import { AutocompleteBudget } from '../model/autocompleteBudget';
import { AutocompleteCategory } from '../model/autocompleteCategory';
import { AutocompleteCurrency } from '../model/autocompleteCurrency';
import { AutocompleteCurrencyCode } from '../model/autocompleteCurrencyCode';
import { AutocompleteObjectGroup } from '../model/autocompleteObjectGroup';
import { AutocompletePiggy } from '../model/autocompletePiggy';
import { AutocompletePiggyBalance } from '../model/autocompletePiggyBalance';
import { AutocompleteRecurrence } from '../model/autocompleteRecurrence';
import { AutocompleteRule } from '../model/autocompleteRule';
import { AutocompleteRuleGroup } from '../model/autocompleteRuleGroup';
import { AutocompleteTag } from '../model/autocompleteTag';
import { AutocompleteTransaction } from '../model/autocompleteTransaction';
import { AutocompleteTransactionID } from '../model/autocompleteTransactionID';
import { AutocompleteTransactionType } from '../model/autocompleteTransactionType';
import { HttpConfiguration } from '../configuration';
import * as i0 from "@angular/core";
export declare class AutocompleteService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: HttpConfiguration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration: HttpConfiguration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * Returns all accounts of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param date If the account is an asset account or a liability, the autocomplete will also return the balance of the account on this date.
     * @param types Optional filter on the account type(s) used in the autocomplete.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getAccountsAC(xTraceId?: string, query?: string, limit?: number, date?: string, types?: Array<AccountTypeFilter>, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteAccount>>;
    getAccountsAC(xTraceId?: string, query?: string, limit?: number, date?: string, types?: Array<AccountTypeFilter>, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteAccount>>>;
    getAccountsAC(xTraceId?: string, query?: string, limit?: number, date?: string, types?: Array<AccountTypeFilter>, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteAccount>>>;
    /**
     * Returns all bills of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getBillsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteBill>>;
    getBillsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteBill>>>;
    getBillsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteBill>>>;
    /**
     * Returns all budgets of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getBudgetsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteBudget>>;
    getBudgetsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteBudget>>>;
    getBudgetsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteBudget>>>;
    /**
     * Returns all categories of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getCategoriesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteCategory>>;
    getCategoriesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteCategory>>>;
    getCategoriesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteCategory>>>;
    /**
     * Returns all currencies of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getCurrenciesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteCurrency>>;
    getCurrenciesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteCurrency>>>;
    getCurrenciesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteCurrency>>>;
    /**
     * Returns all currencies of the user returned in a basic auto-complete array. This endpoint is DEPRECATED and I suggest you DO NOT use it.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getCurrenciesCodeAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteCurrencyCode>>;
    getCurrenciesCodeAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteCurrencyCode>>>;
    getCurrenciesCodeAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteCurrencyCode>>>;
    /**
     * Returns all object groups of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getObjectGroupsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteObjectGroup>>;
    getObjectGroupsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteObjectGroup>>>;
    getObjectGroupsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteObjectGroup>>>;
    /**
     * Returns all piggy banks of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getPiggiesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompletePiggy>>;
    getPiggiesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompletePiggy>>>;
    getPiggiesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompletePiggy>>>;
    /**
     * Returns all piggy banks of the user returned in a basic auto-complete array complemented with balance information.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getPiggiesBalanceAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompletePiggyBalance>>;
    getPiggiesBalanceAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompletePiggyBalance>>>;
    getPiggiesBalanceAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompletePiggyBalance>>>;
    /**
     * Returns all recurring transactions of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getRecurringAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteRecurrence>>;
    getRecurringAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteRecurrence>>>;
    getRecurringAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteRecurrence>>>;
    /**
     * Returns all rule groups of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getRuleGroupsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteRuleGroup>>;
    getRuleGroupsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteRuleGroup>>>;
    getRuleGroupsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteRuleGroup>>>;
    /**
     * Returns all rules of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getRulesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteRule>>;
    getRulesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteRule>>>;
    getRulesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteRule>>>;
    /**
     * Returns all tags of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getTagAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteTag>>;
    getTagAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteTag>>>;
    getTagAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteTag>>>;
    /**
     * Returns all transaction types returned in a basic auto-complete array. English only.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getTransactionTypesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteTransactionType>>;
    getTransactionTypesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteTransactionType>>>;
    getTransactionTypesAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteTransactionType>>>;
    /**
     * Returns all transaction descriptions of the user returned in a basic auto-complete array.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getTransactionsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteTransaction>>;
    getTransactionsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteTransaction>>>;
    getTransactionsAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteTransaction>>>;
    /**
     * Returns all transactions, complemented with their ID, of the user returned in a basic auto-complete array. This endpoint is DEPRECATED and I suggest you DO NOT use it.
     * @param xTraceId Unique identifier associated with this request.
     * @param query The autocomplete search query.
     * @param limit The number of items returned.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getTransactionsIDAC(xTraceId?: string, query?: string, limit?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<AutocompleteTransactionID>>;
    getTransactionsIDAC(xTraceId?: string, query?: string, limit?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<AutocompleteTransactionID>>>;
    getTransactionsIDAC(xTraceId?: string, query?: string, limit?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<AutocompleteTransactionID>>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AutocompleteService>;
}
