/** * Confluence Server/Data Center user object. * * Confluence DC identifies users by `username` (login name) AND `userKey` * (stable opaque identifier). Some endpoints prefer one or the other; the * API returns both whenever possible. */ export interface ConfluenceUser { /** Resource type discriminator returned by Confluence */ type?: 'known' | 'unknown' | 'anonymous' | 'user'; /** User's login name (DC concept; absent on anonymous users) */ username?: string; /** Stable opaque identifier (DC) */ userKey?: string; /** Account ID — Confluence Cloud only; included for forward compat */ accountId?: string; /** Display name */ displayName?: string; /** Email address (only when expanded via `expand=details.personal`) */ email?: string; /** Profile picture metadata */ profilePicture?: { path: string; width?: number; height?: number; isDefault?: boolean; }; /** Personal details (populated with `expand=details.personal`) */ details?: { personal?: { email?: string; phone?: string; department?: string; jobTitle?: string; location?: string; }; }; /** Self links (varies by endpoint) */ _links?: { self?: string; base?: string; context?: string; }; /** Comma-separated list of populated expansions */ _expandable?: Record; } /** Parameters for getCurrentUser */ export interface GetCurrentConfluenceUserParams { /** Comma-separated list of fields to expand (e.g. "details.personal") */ expand?: string; } /** * Parameters for getUser. * * Provide one of `username` or `userKey`. Confluence rejects requests with * both or neither. */ export interface GetConfluenceUserParams { /** User's login name */ username?: string; /** Stable opaque identifier */ userKey?: string; /** Comma-separated list of fields to expand */ expand?: string; } /** Parameters for searchUsers */ export interface SearchConfluenceUsersParams { /** * Partial-match query against the user's display name. Confluence DC's * `/rest/api/search/user` endpoint uses CQL under the hood; this client * builds `user.fullname ~ ""` for you. */ query: string; /** Pagination offset (0-based) */ start?: number; /** Page size (Confluence DC default is 25, max is 200) */ limit?: number; /** * Escape hatch: when set, this raw CQL is used verbatim and `query` is * ignored. Useful for advanced filters like `user.fullname ~ "Smith" AND * user.email ~ "example.com"`. */ cql?: string; } /** Single hit from `/rest/api/search/user` */ export interface ConfluenceUserSearchResult { user: ConfluenceUser; title?: string; excerpt?: string; url?: string; entityType?: string; lastModified?: string; } //# sourceMappingURL=user.d.ts.map