import { BooleanInt, CrowdinApi, PaginationOptions, ResponseList, ResponseObject } from '../core';
export declare class StringCorrections extends CrowdinApi {
    /**
     * @param projectId project identifier
     * @param options optional pagination parameters for the request
     * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/String-Corrections/operation/api.projects.corrections.getMany
     */
    listStringCorrections(projectId: number, options: StringCorrectionsModel.ListStringCorrectionsParams): Promise<ResponseList<StringCorrectionsModel.StringCorrection>>;
    /**
     * @param projectId project identifier
     * @param request request body
     * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/String-Corrections/operation/api.projects.corrections.post
     */
    addStringCorrection(projectId: number, request: StringCorrectionsModel.AddStringCorrectionRequest): Promise<ResponseObject<StringCorrectionsModel.StringCorrection>>;
    /**
     * @param projectId project identifier
     * @param stringId string identifier
     * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/String-Corrections/operation/api.projects.corrections.deleteMany
     */
    deleteStringCorrections(projectId: number, stringId: number): Promise<void>;
    /**
     * @param projectId project identifier
     * @param correctionId correction identifier
     * @param params query params
     * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/String-Corrections/operation/api.projects.corrections.get
     */
    getStringCorrection(projectId: number, correctionId: number, params?: {
        denormalizePlaceholders?: BooleanInt;
    }): Promise<ResponseObject<StringCorrectionsModel.StringCorrection>>;
    /**
     * @param projectId project identifier
     * @param correctionId correction identifier
     * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/String-Corrections/operation/api.projects.corrections.put
     */
    restoreStringCorrection(projectId: number, correctionId: number): Promise<ResponseObject<StringCorrectionsModel.StringCorrection>>;
    /**
     * @param projectId project identifier
     * @param correctionId correction identifier
     * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/String-Corrections/operation/api.projects.corrections.delete
     */
    deleteStringCorrection(projectId: number, correctionId: number): Promise<void>;
}
export declare namespace StringCorrectionsModel {
    interface ListStringCorrectionsParams extends PaginationOptions {
        stringId: number;
        orderBy?: string;
        denormalizePlaceholders?: BooleanInt;
    }
    interface StringCorrection {
        id: number;
        text: string;
        pluralCategoryName: PluralCategoryName;
        user: {
            id: number;
            username: string;
            fullName: string;
            avatarUrl: string;
        };
        createdAt: string;
    }
    type PluralCategoryName = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other';
    interface AddStringCorrectionRequest {
        stringId: number;
        text: string;
        pluralCategoryName?: PluralCategoryName;
    }
}
