@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
180 lines (179 loc) • 7.6 kB
TypeScript
import { CrowdinApi, PaginationOptions, PatchRequest, ResponseList, ResponseObject } from '../core';
/**
* Screenshots provide translators with additional context for the source strings.
* Screenshot tags allow specifying which source strings are displayed on each screenshot.
*
* Use API to manage screenshots and their tags.
*/
export declare class Screenshots extends CrowdinApi {
/**
* @param projectId project identifier
* @param options search options
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.getMany
*/
listScreenshots(projectId: number, options?: ScreenshotsModel.ListScreenshotParams): Promise<ResponseList<ScreenshotsModel.Screenshot>>;
/**
* @param projectId project identifier
* @param limit maximum number of items to retrieve (default 25)
* @param offset starting offset in the collection (default 0)
* @deprecated optional parameters should be passed through an object
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.getMany
*/
listScreenshots(projectId: number, limit?: number, offset?: number): Promise<ResponseList<ScreenshotsModel.Screenshot>>;
/**
* @param projectId project identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.post
*/
addScreenshot(projectId: number, request: ScreenshotsModel.CreateScreenshotRequest): Promise<ResponseObject<ScreenshotsModel.Screenshot>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.get
*/
getScreenshot(projectId: number, screenshotId: number): Promise<ResponseObject<ScreenshotsModel.Screenshot>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.put
*/
updateScreenshot(projectId: number, screenshotId: number, request: ScreenshotsModel.UpdateScreenshotRequest): Promise<ResponseObject<ScreenshotsModel.Screenshot>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.delete
*/
deleteScreenshot(projectId: number, screenshotId: number): Promise<void>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.patch
*/
editScreenshot(projectId: number, screenshotId: number, request: PatchRequest[]): Promise<ResponseObject<ScreenshotsModel.Screenshot>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param options optional pagination parameters for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.getMany
*/
listScreenshotTags(projectId: number, screenshotId: number, options?: PaginationOptions): Promise<ResponseList<ScreenshotsModel.Tag>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param limit maximum number of items to retrieve (default 25)
* @param offset starting offset in the collection (default 0)
* @deprecated optional parameters should be passed through an object
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.getMany
*/
listScreenshotTags(projectId: number, screenshotId: number, limit?: number, offset?: number): Promise<ResponseList<ScreenshotsModel.Tag>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.putMany
*/
replaceTags(projectId: number, screenshotId: number, request: ScreenshotsModel.ReplaceTagRequest[] | ScreenshotsModel.AutoTagRequest): Promise<void>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.post
*/
addTag(projectId: number, screenshotId: number, request: ScreenshotsModel.ReplaceTagRequest[]): Promise<ResponseObject<ScreenshotsModel.Tag>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.deleteMany
*/
clearTags(projectId: number, screenshotId: number): Promise<void>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param tagId tag identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.get
*/
getTag(projectId: number, screenshotId: number, tagId: number): Promise<ResponseObject<ScreenshotsModel.Tag>>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param tagId tag identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.delete
*/
deleteTag(projectId: number, screenshotId: number, tagId: number): Promise<void>;
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param tagId tag identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.patch
*/
updateTag(projectId: number, screenshotId: number, tagId: number, request: PatchRequest[]): Promise<ResponseObject<ScreenshotsModel.Screenshot>>;
}
export declare namespace ScreenshotsModel {
interface ListScreenshotParams extends PaginationOptions {
stringIds?: number[];
/**
* @deprecated use stringIds instead
*/
stringId?: number;
labelIds?: string;
excludeLabelIds?: string;
orderBy?: string;
}
interface Screenshot {
id: number;
userId: number;
url: string;
webUrl: string;
name: string;
size: Size;
tagsCount: number;
tags: Tag[];
labels: number[];
labelIds: number[];
createdAt: string;
updatedAt: string;
}
interface CreateScreenshotRequest {
storageId: number;
name: string;
autoTag?: boolean;
fileId?: number;
branchId?: number;
directoryId?: number;
labelIds?: number[];
}
interface UpdateScreenshotRequest {
storageId: number;
name: string;
}
interface Tag {
id: number;
screenshotId: number;
stringId: number;
position: Position;
createdAt: string;
}
interface ReplaceTagRequest {
stringId: number;
position?: Position;
}
interface AutoTagRequest {
autoTag: boolean;
fileId?: number;
branchId?: number;
directoryId?: number;
}
interface Size {
width: number;
height: number;
}
interface Position {
x: number;
y: number;
width: number;
height: number;
}
}