import { BaseCollection } from "./base_collection"; import { Contributor } from "../models/contributor"; import { ProjectWithPagination } from "../interfaces/project_with_pagination"; import { PaginatedResult } from "../interfaces/paginated_result"; import { ProjectOnly } from "../interfaces/project_only"; type ContributorLanguages = { lang_iso: string; is_writable?: boolean; }; type ContributorRights = "upload" | "activity" | "download" | "settings" | "create_branches" | "statistics" | "keys" | "screenshots" | "glossary" | "contributors" | "languages" | "tasks"; type ContributorCreateData = { email: string; fullname?: string; is_admin?: boolean; is_reviewer?: boolean; languages: ContributorLanguages[]; admin_rights?: ContributorRights[]; }; type ContributorUpdateData = { is_admin?: boolean; is_reviewer?: boolean; languages?: ContributorLanguages[]; admin_rights?: ContributorRights[]; }; type ContributorDeleted = { project_id: string; contributor_deleted: boolean; }; export declare class Contributors extends BaseCollection { protected static rootElementName: string; protected static rootElementNameSingular: string; protected static prefixURI: string; protected static elementClass: typeof Contributor; list(request_params: ProjectWithPagination): Promise>; create(contributor_params: ContributorCreateData | ContributorCreateData[], request_params: ProjectOnly): Promise; get(contributor_id: string | number, request_params: ProjectOnly): Promise; update(contributor_id: string | number, contributor_params: ContributorUpdateData, request_params: ProjectOnly): Promise; delete(contributor_id: string | number, request_params: ProjectOnly): Promise; } export {};