import type { YoutrackProject, YoutrackProjectListPayload, YoutrackUser, YoutrackUserListPayload } from "../types.js"; import { type Constructor, type YoutrackClientBase } from "./base.js"; /** * Public surface of the users + projects domain. The "internal" helpers * (`findProject`, `resolveAssignee`, ...) appear here as well: TypeScript * mixins cannot keep them `protected` once the anonymous class is exposed * through an exported function (TS4094). Other domain mixins still depend on * them, so they have to be reachable on the assembled `YoutrackClient` type. * They are not part of the tool surface; only the client itself calls them. */ export interface UsersProjectsMixin { getCurrentUser: () => Promise; getUserByLogin: (login: string) => Promise; listUsers: (pagination?: { limit?: number | undefined; skip?: number | undefined; }) => Promise; listProjects: (pagination?: { limit?: number | undefined; skip?: number | undefined; }) => Promise; getProjectByShortName: (shortName: string) => Promise; fetchAllProjects: () => Promise; getProjectById: (projectId: string) => Promise; cacheProject: (project: YoutrackProject) => void; findProject: (identifier: string) => Promise; resolveAssignee: (login: string) => Promise; } export declare function withUsersProjects>(Base: TBase): TBase & Constructor; //# sourceMappingURL=users-projects.d.ts.map