@vansite/ts-sharetribe-flex-sdk
Version:
This is a TypeScript SDK for Sharetribe Flex API. It reduces the complexity of the API and provides a more user-friendly interface.
67 lines • 2.73 kB
TypeScript
/**
* @fileoverview Client for managing availability exceptions in the Sharetribe Integration API.
*
* Availability exceptions override default availability rules for specific time ranges
* (e.g. blocking off dates for maintenance or special events).
*
* @see https://www.sharetribe.com/api-reference/integration.html#availability-exceptions
*/
import type { AxiosResponse } from "axios";
import IntegrationApi from "./index";
import { AvailabilityExceptionsCreateParameter, AvailabilityExceptionsDeleteParameter, AvailabilityExceptionsQueryParameter, AvailabilityExceptionsResponse, ExtraParameter } from "../../types";
/**
* Availability exceptions API client
*/
declare class AvailabilityExceptions {
readonly authRequired = true;
private readonly axios;
private readonly endpoint;
private readonly headers;
constructor(api: IntegrationApi);
/**
* Query availability exceptions
*
* @template P
* @param {P & AvailabilityExceptionsQueryParameter} params
* @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<"query", P>>>}
*
* @example
* const { data } = await sdk.availabilityExceptions.query({
* listingId: "123-abc",
* start: "2025-01-01",
* end: "2025-01-31"
* });
*/
query<P extends AvailabilityExceptionsQueryParameter>(params: P): Promise<AxiosResponse<AvailabilityExceptionsResponse<"query", P>>>;
/**
* Create a new availability exception
*
* @template P
* @template EP
* @param {P & AvailabilityExceptionsCreateParameter} params
* @param {EP} [extraParams] - Optional extra parameters (e.g. expand)
* @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<"create", P, EP>>>}
*
* @example
* await sdk.availabilityExceptions.create({
* listingId: "123-abc",
* start: "2025-12-24",
* end: "2025-12-26",
* seats: 0
* });
*/
create<P extends AvailabilityExceptionsCreateParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<AvailabilityExceptionsResponse<"create", P, EP>>>;
/**
* Delete an availability exception
*
* @template P
* @param {P & AvailabilityExceptionsDeleteParameter} params
* @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<"delete", P>>>}
*
* @example
* await sdk.availabilityExceptions.delete({ id: "exc-456-def" });
*/
delete<P extends AvailabilityExceptionsDeleteParameter>(params: P): Promise<AxiosResponse<AvailabilityExceptionsResponse<"delete", P>>>;
}
export default AvailabilityExceptions;
//# sourceMappingURL=AvailabilityExceptions.d.ts.map