import { APIResource } from "../core/resource.js"; import * as BusinessPartnersAPI from "./business-partners.js"; import * as Shared from "./shared.js"; import { APIPromise } from "../core/api-promise.js"; import { PageCursorURL, PagePromise } from "../core/pagination.js"; import { RequestOptions } from "../internal/request-options.js"; /** * Work locations used by the company */ export declare class WorkLocations extends APIResource { /** * A list of work locations. * * - Requires: `API Tier 1` * - Sortable fields: `id`, `created_at`, `updated_at` */ list(query?: WorkLocationListParams | null | undefined, options?: RequestOptions): PagePromise; /** * Create a new work location */ create(body: WorkLocationCreateParams, options?: RequestOptions): APIPromise; /** * Retrieve a specific work location */ retrieve(id: string, options?: RequestOptions): APIPromise; /** * Update a specific work location. */ update(id: string, body: WorkLocationUpdateParams, options?: RequestOptions): APIPromise; /** * Delete a work location */ delete(id: string, options?: RequestOptions): APIPromise; } export type WorkLocationsPageCursorURL = PageCursorURL; export interface WorkLocation { /** * Identifier field */ id: string; /** * The address for the work location. */ address: Shared.Address; /** * Record creation date */ created_at: string; /** * The name of the work location. */ name: string; /** * Record update date */ updated_at: string; } /** * Meta information for the response. */ export interface WorkLocationRetrieveResponse extends BusinessPartnersAPI.Meta, WorkLocation { } export interface WorkLocationListParams { cursor?: string; order_by?: string; } export interface WorkLocationCreateParams { /** * The address for the work location. */ address: WorkLocationCreateParams.Address; /** * The name of the work location. */ name: string; } export declare namespace WorkLocationCreateParams { /** * The address for the work location. */ interface Address { /** * The country component, pursuant to SCIM RFC 7643 4.1.2. */ country?: Shared.CountryCode; /** * The city or locality component. */ locality?: string; /** * The zip code or postal code component, pursuant to SCIM RFC 7643 4.1.2. */ postal_code?: string; /** * The state or region component, pursuant to SCIM RFC 7643 4.1.2. */ region?: string; /** * The full street address component, which may include house number, street name, * P.O. box, and multi-line extended street address information, pursuant to SCIM * RFC 7643 4.1.2.. */ street_address?: string; /** * The classification of the address. */ type?: 'HOME' | 'WORK' | 'OTHER'; } } export interface WorkLocationUpdateParams { /** * The address for the work location. */ address: WorkLocationUpdateParams.Address; /** * The name of the work location. */ name: string; } export declare namespace WorkLocationUpdateParams { /** * The address for the work location. */ interface Address { /** * The country component, pursuant to SCIM RFC 7643 4.1.2. */ country?: Shared.CountryCode; /** * The city or locality component. */ locality?: string; /** * The zip code or postal code component, pursuant to SCIM RFC 7643 4.1.2. */ postal_code?: string; /** * The state or region component, pursuant to SCIM RFC 7643 4.1.2. */ region?: string; /** * The full street address component, which may include house number, street name, * P.O. box, and multi-line extended street address information, pursuant to SCIM * RFC 7643 4.1.2.. */ street_address?: string; /** * The classification of the address. */ type?: 'HOME' | 'WORK' | 'OTHER'; } } export declare namespace WorkLocations { export { type WorkLocation as WorkLocation, type WorkLocationRetrieveResponse as WorkLocationRetrieveResponse, type WorkLocationsPageCursorURL as WorkLocationsPageCursorURL, type WorkLocationListParams as WorkLocationListParams, type WorkLocationCreateParams as WorkLocationCreateParams, type WorkLocationUpdateParams as WorkLocationUpdateParams, }; } //# sourceMappingURL=work-locations.d.ts.map