import type { HttpRequestOptions } from "../http/HttpClient.js"; import type { UserContextHeaderParams } from "../interfaces.js"; /** * Shared request configuration options exposed across resource methods. */ export interface RequestOptions { /** * Abort controller signal allowing callers to cancel the in-flight HTTP request. */ signal?: AbortSignal; /** * Overrides the bearer token for a single request when acting on behalf of a different user. */ authToken?: string; /** * Optional idempotency key supporting safe retries for non-idempotent endpoints. */ idempotencyKey?: string; /** * Enables callers to opt in or out of the built-in rate limiting logic. */ useRateLimiter?: boolean; } /** * Extended request options that also accept the optional X-CompanyCam-User header. */ export type UserScopedRequestOptions = RequestOptions & UserContextHeaderParams; /** * Create a request configuration for the HTTP client that only contains supported options. */ export declare function buildRequestConfig(options?: RequestOptions): Pick; /** * Remove undefined and null values from query objects prior to transmission. */ export declare function cleanQueryParameters(query?: object): Record | undefined; /** * URL encode path parameters in a consistent manner across all resources. */ export declare function encodePathParam(value: string): string; /** * Split the user-scoped options into request configuration and the optional header value. */ export declare function splitUserScopedOptions(options?: UserScopedRequestOptions): { requestOptions?: RequestOptions; userContext?: string; }; //# sourceMappingURL=utils.d.ts.map