import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CompanyCreatedModel } from '../model/companyCreatedModel';
import { CompanyListModel } from '../model/companyListModel';
import { CompanyModel } from '../model/companyModel';
import { CreateCompanyModel } from '../model/createCompanyModel';
import { Operation } from '../model/operation';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare namespace rateplanCompaniesByIdDelete {
interface Params {
/**
* The ID of the company to delete
*/
id: string;
/**
* Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
}
}
export declare namespace rateplanCompaniesByIdGet {
interface Params {
/**
* The ID of the company.
*/
id: string;
/**
* Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
}
}
export declare namespace rateplanCompaniesByIdPatch {
interface Params {
/**
* The ID of the company to be modified.
*/
id: string;
/**
* Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.
*/
body: Array;
/**
* Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
}
}
export declare namespace rateplanCompaniesGet {
interface Params {
/**
* Filter by the specified property
*/
propertyId?: string;
/**
* Return companies with any of the specified rate plans
*/
ratePlanIds?: Array;
/**
* Return companies that have any of the requested corporate codes
*/
corporateCodes?: Array;
/**
* This will filter all companies for the provided free text. Currently it only looks up if the company name contains one of the provided values
*/
textSearch?: string;
/**
* Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
/**
* Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.
*/
pageNumber?: number;
/**
* Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.
*/
pageSize?: number;
}
}
export declare namespace rateplanCompaniesPost {
interface Params {
/**
* The definition of the company.
*/
body: CreateCompanyModel;
/**
* Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
/**
* Unique key for safely retrying requests without accidentally performing the same operation twice. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.
*/
idempotencyKey?: string;
}
}
export declare class CompanyService {
protected httpClient: HttpClient;
protected basePath: string;
defaultHeaders: HttpHeaders;
configuration: Configuration;
constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
/**
* @param consumes string[] mime-types
* @return true: consumes contains 'multipart/form-data', false: otherwise
*/
private canConsumeForm;
/**
* Delete a company
* Deletes a company. Warning: This operation also removes company from all rate plans if not yet used. The deleted company won't be available in the company VAT report anymore.<br>You must have this scope: 'companies.manage'.
* @param $params.id The ID of the company to delete
* @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @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.
*/
rateplanCompaniesByIdDelete($params: rateplanCompaniesByIdDelete.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanCompaniesByIdDelete($params: rateplanCompaniesByIdDelete.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanCompaniesByIdDelete($params: rateplanCompaniesByIdDelete.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Get a company
* Get a company by ID.<br>You must have at least one of these scopes: 'companies.read, companies.manage'.
* @param $params.id The ID of the company.
* @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @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.
*/
rateplanCompaniesByIdGet($params: rateplanCompaniesByIdGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanCompaniesByIdGet($params: rateplanCompaniesByIdGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanCompaniesByIdGet($params: rateplanCompaniesByIdGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Modify a company
* Here is the list of operations that are currently allowed: - Replace name, invoicingEmail, phone, taxId, additionalTaxId, additionalTaxId2, address, canCheckOutOnAr - Add, replace and remove rate plans<br>You must have this scope: 'companies.manage'.
* @param $params.id The ID of the company to be modified.
* @param $params.body Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.
* @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @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.
*/
rateplanCompaniesByIdPatch($params: rateplanCompaniesByIdPatch.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanCompaniesByIdPatch($params: rateplanCompaniesByIdPatch.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanCompaniesByIdPatch($params: rateplanCompaniesByIdPatch.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Get a list of companies
* Get the list of companies. <br>You must have at least one of these scopes: 'companies.read, companies.manage'.
* @param $params.propertyId Filter by the specified property
* @param $params.ratePlanIds Return companies with any of the specified rate plans
* @param $params.corporateCodes Return companies that have any of the requested corporate codes
* @param $params.textSearch This will filter all companies for the provided free text. Currently it only looks up if the company name contains one of the provided values
* @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param $params.pageNumber Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.
* @param $params.pageSize Page size. If this is not set or not positive, the pageNumber is ignored and all items are 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.
*/
rateplanCompaniesGet($params: rateplanCompaniesGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanCompaniesGet($params: rateplanCompaniesGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanCompaniesGet($params: rateplanCompaniesGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Create a company
* Use this call to create a new company.<br>You must have at least one of these scopes: 'companies.create, companies.manage'.
* @param $params.body The definition of the company.
* @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param $params.idempotencyKey Unique key for safely retrying requests without accidentally performing the same operation twice. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.
* @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.
*/
rateplanCompaniesPost($params: rateplanCompaniesPost.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanCompaniesPost($params: rateplanCompaniesPost.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanCompaniesPost($params: rateplanCompaniesPost.Params, observe?: 'events', reportProgress?: boolean): Observable>;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}