import type { Group, GroupMutable, PaginationQueryParams } from "../interfaces.js"; import type { HttpClient } from "../http/HttpClient.js"; import { RequestOptions, UserScopedRequestOptions } from "./utils.js"; /** * Resource for managing user groups. Offers helpers for listing, creating, updating, * and deleting company-level groups via the generated HTTP client. */ export declare class GroupsResource { private readonly http; constructor(http: HttpClient); /** * List groups defined within the company. * * @param query Optional pagination controls (`page`, `per_page`) from the spec. * @param options Optional request overrides such as alternate auth token or abort signal. * @returns Array of {@link Group} records. * @throws {APIError} When the API responds with an error status. */ list(query?: PaginationQueryParams, options?: RequestOptions): Promise; /** * Create a new group. * * @param payload Mutable group attributes drawn from the spec. * @param options Optional request overrides; supply `X-CompanyCam-User` to attribute the action. * @returns The newly created {@link Group}. * @throws {APIError} When the API responds with an error status. */ create(payload: GroupMutable, options?: UserScopedRequestOptions): Promise; /** * Retrieve a specific group by identifier. * * @param groupId Identifier of the group to fetch. * @param options Optional request overrides such as alternate auth token or abort signal. * @returns The requested {@link Group}. * @throws {APIError} When the API responds with an error status. */ retrieve(groupId: string, options?: RequestOptions): Promise; /** * Update an existing group. * * @param groupId Identifier of the group to update. * @param payload Mutable group attributes drawn from the spec. * @param options Optional request overrides such as alternate auth token or abort signal. * @returns The updated {@link Group}. * @throws {APIError} When the API responds with an error status. */ update(groupId: string, payload: GroupMutable, options?: RequestOptions): Promise; /** * Delete a group. * * @param groupId Identifier of the group to delete. * @param options Optional request overrides such as alternate auth token or abort signal. * @returns Resolves to void when deletion succeeds. * @throws {APIError} When the API responds with an error status. */ delete(groupId: string, options?: RequestOptions): Promise; } //# sourceMappingURL=Groups.d.ts.map