import { Http, Headers } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import '../rxjs-operators';
import { ApaleoRequestOptions, ResponseModel } from '@apaleo/angular-api-proxy-common';
import { RateListModel } from '../model/rateListModel';
import { ReplaceRateListModel } from '../model/replaceRateListModel';
import { Configuration } from '../configuration';
export declare namespace ratesRatePlansByIdRatesDelete {
interface Params {
/**
* The id of the rate plan.
*/
id: string;
/**
* The start of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
from: string;
/**
* The end of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
to: string;
}
}
export declare namespace ratesRatePlansByIdRatesGet {
interface Params {
/**
* The id of the rate plan.
*/
id: string;
/**
* The start of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
from: string;
/**
* The end of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
to: string;
/**
* Page number, starting from 1 and defaulting to 1. Results in 204 if there are no items on that page.
*/
pageNumber?: number;
/**
* Page size. If this is not set, the pageNumber will be ignored and all values returned.
*/
pageSize?: number;
}
}
export declare namespace ratesRatePlansByIdRatesPut {
interface Params {
/**
* The id of the rate plan.
*/
id: string;
/**
* The start of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
from: string;
/**
* The end of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
to: string;
/**
* The definition of the rates.
*/
requestBody: ReplaceRateListModel;
}
}
export declare namespace ratesRatePlansByIdRatescountGet {
interface Params {
/**
* The id of the rate plan.
*/
id: string;
/**
* The start of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
from: string;
/**
* The end of the time range to filter the rates. All rates starting within the time range will be affected
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in the ISO8601:2004
*/
to: string;
}
}
export declare class RateService {
protected readonly http: Http;
protected readonly basePath: string;
protected readonly defaultHeaders: Headers;
protected readonly configuration: Configuration;
constructor(http: Http, basePath: string, configuration: Configuration);
/**
*
* Extends object by coping non-existing properties.
* @param objA object to be extended
* @param objB source object
*/
private extendObj(objA, objB);
/**
* @param consumes string[] mime-types
* @return true: consumes contains 'multipart/form-data', false: otherwise
*/
private canConsumeForm(consumes);
/**
* Returns all rates starting or ending in the specified time range.
Scope required: 'rates.delete'.
* @summary Deletes the rates for the rate plan
*/
ratesRatePlansByIdRatesDelete(params: ratesRatePlansByIdRatesDelete.Params, $options?: ApaleoRequestOptions): Observable;
/**
* Returns all rates for a specific rate plan within the specifed time range. If a rate has not been initialized, it will still be returned, but anything besides the from and to values will be empty. The time range of a rate is defined by the time slice template defined on the rate plan.
Time ranges with no initialized rates will not be available for sell.
Scope required: 'rates.read'.
* @summary Returns a list of rates.
*/
ratesRatePlansByIdRatesGet(params: ratesRatePlansByIdRatesGet.Params, $options?: ApaleoRequestOptions): Observable;
/**
* Use this call to replace certain rates of the rate plan. All the rates from your request matching the time range of a time slice will be replaced or initialized. Existing rates not included in the body will be deleted.
Scope required: 'rates.manage'.
* @summary Replaces the rates for the rate plan within the specifed time range.
*/
ratesRatePlansByIdRatesPut(params: ratesRatePlansByIdRatesPut.Params, $options?: ApaleoRequestOptions): Observable;
/**
*
Scope required: 'rates.read'.
* @summary Returns the number of rates for a specific rate plan within the specifed time range.
*/
ratesRatePlansByIdRatescountGet(params: ratesRatePlansByIdRatescountGet.Params, $options?: ApaleoRequestOptions): Observable;
/**
* Deletes the rates for the rate plan
* Returns all rates starting or ending in the specified time range.<br>Scope required: 'rates.delete'.
* @param id The id of the rate plan.
* @param from The start of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
* @param to The end of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
*/
ratesRatePlansByIdRatesDeleteWithHttpInfo(params: ratesRatePlansByIdRatesDelete.Params, $options?: ApaleoRequestOptions): Observable>;
/**
* Returns a list of rates.
* Returns all rates for a specific rate plan within the specifed time range. If a rate has not been initialized, it will still be returned, but anything besides the from and to values will be empty. The time range of a rate is defined by the time slice template defined on the rate plan.<br /> Time ranges with no initialized rates will not be available for sell.<br>Scope required: 'rates.read'.
* @param id The id of the rate plan.
* @param from The start of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
* @param to The end of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
* @param pageNumber Page number, starting from 1 and defaulting to 1. Results in 204 if there are no items on that page.
* @param pageSize Page size. If this is not set, the pageNumber will be ignored and all values returned.
*/
ratesRatePlansByIdRatesGetWithHttpInfo(params: ratesRatePlansByIdRatesGet.Params, $options?: ApaleoRequestOptions): Observable>;
/**
* Replaces the rates for the rate plan within the specifed time range.
* Use this call to replace certain rates of the rate plan. All the rates from your request matching the time range of a time slice will be replaced or initialized. Existing rates not included in the body will be deleted.<br>Scope required: 'rates.manage'.
* @param id The id of the rate plan.
* @param from The start of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
* @param to The end of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
* @param requestBody The definition of the rates.
*/
ratesRatePlansByIdRatesPutWithHttpInfo(params: ratesRatePlansByIdRatesPut.Params, $options?: ApaleoRequestOptions): Observable>;
/**
* Returns the number of rates for a specific rate plan within the specifed time range.
* <br>Scope required: 'rates.read'.
* @param id The id of the rate plan.
* @param from The start of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
* @param to The end of the time range to filter the rates. All rates starting within the time range will be affected<br />Specify either a pure date or 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>
*/
ratesRatePlansByIdRatescountGetWithHttpInfo(params: ratesRatePlansByIdRatescountGet.Params, $options?: ApaleoRequestOptions): Observable>;
}