import { CrowdinApi, PaginationOptions, PatchRequest, ResponseList, ResponseObject } from '../core'; /** * Placeholders are constructs in source strings (variables, tags, format specifiers) that must be kept intact in translations. * * Use the API to manage organization custom placeholders, assign them to projects, and turn system placeholders on or off per project. */ export declare class Placeholders extends CrowdinApi { /** * @requiredScope custom-placeholder:read * @param options optional pagination parameters for the request * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.custom-placeholders.getMany */ listCustomPlaceholders(options?: PaginationOptions): Promise>; /** * @requiredScope custom-placeholder:write * @param request request body * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.custom-placeholders.post */ addCustomPlaceholder(request: PlaceholdersModel.AddCustomPlaceholderRequest): Promise>; /** * @requiredScope custom-placeholder:read * @param customPlaceholderId custom placeholder identifier * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.custom-placeholders.get */ getCustomPlaceholder(customPlaceholderId: number): Promise>; /** * @requiredScope custom-placeholder:write * @param customPlaceholderId custom placeholder identifier * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.custom-placeholders.delete */ deleteCustomPlaceholder(customPlaceholderId: number): Promise; /** * @requiredScope custom-placeholder:write * @param customPlaceholderId custom placeholder identifier * @param request request body * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.custom-placeholders.patch */ editCustomPlaceholder(customPlaceholderId: number, request: PatchRequest[]): Promise>; /** * @requiredScope project.placeholder:read * @param projectId project identifier * @param options optional pagination parameters for the request * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.projects.placeholders.getMany */ listProjectPlaceholders(projectId: number, options?: PaginationOptions): Promise>; /** * @requiredScope project.placeholder:write * @param projectId project identifier * @param request request body * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.projects.placeholders.post */ addProjectPlaceholder(projectId: number, request: PlaceholdersModel.AddProjectPlaceholderRequest): Promise>; /** * @requiredScope project.placeholder:read * @param projectId project identifier * @param projectPlaceholderId project placeholder identifier * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.projects.placeholders.get */ getProjectPlaceholder(projectId: number, projectPlaceholderId: number): Promise>; /** * @requiredScope project.placeholder:write * @param projectId project identifier * @param projectPlaceholderId project placeholder identifier * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.projects.placeholders.delete */ deleteProjectPlaceholder(projectId: number, projectPlaceholderId: number): Promise; /** * @requiredScope project.placeholder:write * @param projectId project identifier * @param projectPlaceholderId project placeholder identifier * @param request request body * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Placeholders/operation/api.projects.placeholders.patch */ editProjectPlaceholder(projectId: number, projectPlaceholderId: number, request: PatchRequest[]): Promise>; /** * @requiredScope project.placeholder:read * @param projectId project identifier * @param options optional pagination parameters for the request * @see https://support.crowdin.com/developer/api/v2/#tag/Placeholders/operation/api.projects.system-placeholders.getMany */ listSystemPlaceholders(projectId: number, options?: PaginationOptions): Promise>; /** * @requiredScope project.placeholder:write * @param projectId project identifier * @param request request body * @see https://support.crowdin.com/developer/api/v2/#tag/Placeholders/operation/api.projects.system-placeholders.batchPatch */ systemPlaceholdersBatchOperations(projectId: number, request: PatchRequest[]): Promise>; } export declare namespace PlaceholdersModel { interface CustomPlaceholder { id: number; definition?: string; description: string | null; argumentDelimiter?: string; } interface AddCustomPlaceholderRequest { definition: string; description?: string; argumentDelimiter?: string; } type ProjectPlaceholderType = 'high' | 'low'; interface ProjectPlaceholder { id: number | null; customPlaceholderId: number | null; type: ProjectPlaceholderType | null; index: number | null; isBlocking: boolean | null; formats: string[]; } interface AddProjectPlaceholderRequest { customPlaceholderId: number; type?: ProjectPlaceholderType; index?: number; isBlocking?: boolean; formats?: string[]; } type SystemPlaceholderId = 'wrappedAmpersand' | 'appleStringsdictPlural' | 'dollarInsideBraces' | 'dollarOutsideBraces' | 'wrappedColon' | 'wrappedDollar' | 'dollarParentheses' | 'i18nextNesting' | 'i18nextLegacy' | 'rubyInterpolation' | 'mailchimpMergeTag' | 'swiftInterpolation' | 'bracesTriple' | 'bracesDouble' | 'bracesSingle' | 'bracesDoubleFormatted' | 'dateTimePattern' | 'appleStringCatalogNamed' | 'printfSpecifier' | 'pythonPercentFormat' | 'railsI18n' | 'javaMessageFormat' | 'dotNetCompositeFormat' | 'twig' | 'phpInterpolation' | 'freemarkerDirective' | 'wrappedPercent' | 'dateTimeSpecifier'; interface SystemPlaceholder { id: SystemPlaceholderId; isEnabled: boolean; label: string; examples: string[]; description: string; } }