import Service from "../../service";
import Client from "../../client";
import { ListTerminalsResponse, TerminalReassignmentRequest } from "../../typings/management/models";
import { IRequest } from "../../typings/requestOptions";
export declare class TerminalsTerminalLevelApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Get a list of terminals
    * @param requestOptions {@link IRequest.Options }
    * @param searchQuery {@link string } Returns terminals with an ID that contains the specified string. If present, other query parameters are ignored.
    * @param otpQuery {@link string } Returns one or more terminals associated with the one-time passwords specified in the request. If this query parameter is used, other query parameters are ignored.
    * @param countries {@link string } Returns terminals located in the countries specified by their [two-letter country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
    * @param merchantIds {@link string } Returns terminals that belong to the merchant accounts specified by their unique merchant account ID.
    * @param storeIds {@link string } Returns terminals that are assigned to the [stores](https://docs.adyen.com/api-explorer/#/ManagementService/latest/get/stores) specified by their unique store ID.
    * @param brandModels {@link string } Returns terminals of the [models](https://docs.adyen.com/api-explorer/#/ManagementService/latest/get/companies/{companyId}/terminalModels) specified in the format *brand.model*.
    * @param pageNumber {@link number } The number of the page to fetch.
    * @param pageSize {@link number } The number of items to have on a page, maximum 100. The default is 20 items on a page.
    * @return {@link ListTerminalsResponse }
    */
    listTerminals(searchQuery?: string, otpQuery?: string, countries?: string, merchantIds?: string, storeIds?: string, brandModels?: string, pageNumber?: number, pageSize?: number, requestOptions?: IRequest.Options): Promise<ListTerminalsResponse>;
    /**
    * @summary Reassign a terminal
    * @param terminalId {@link string } The unique identifier of the payment terminal.
    * @param terminalReassignmentRequest {@link TerminalReassignmentRequest }
    * @param requestOptions {@link IRequest.Options }
    */
    reassignTerminal(terminalId: string, terminalReassignmentRequest: TerminalReassignmentRequest, requestOptions?: IRequest.Options): Promise<void>;
}
