import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
import type { UpdateCommentInput, UpdateCommentOutput } from "../models/models_0";
/**
 * @public
 */
export type { __MetadataBearer };
/**
 * @public
 *
 * The input for {@link UpdateCommentCommand}.
 */
export interface UpdateCommentCommandInput extends UpdateCommentInput {
}
/**
 * @public
 *
 * The output of {@link UpdateCommentCommand}.
 */
export interface UpdateCommentCommandOutput extends UpdateCommentOutput, __MetadataBearer {
}
declare const UpdateCommentCommand_base: {
    new (input: UpdateCommentCommandInput): import("@smithy/core/client").CommandImpl<UpdateCommentCommandInput, UpdateCommentCommandOutput, import("..").CodeCommitClientResolvedConfig, import("..").ServiceInputTypes, import("..").ServiceOutputTypes>;
    new (input: UpdateCommentCommandInput): import("@smithy/core/client").CommandImpl<UpdateCommentCommandInput, UpdateCommentCommandOutput, import("..").CodeCommitClientResolvedConfig, import("..").ServiceInputTypes, import("..").ServiceOutputTypes>;
    getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions;
};
/**
 * <p>Replaces the contents of a comment.</p>
 * @example
 * Use a bare-bones client and the command you need to make an API call.
 * ```javascript
 * import { CodeCommitClient, UpdateCommentCommand } from "@aws-sdk/client-codecommit"; // ES Modules import
 * // const { CodeCommitClient, UpdateCommentCommand } = require("@aws-sdk/client-codecommit"); // CommonJS import
 * // import type { CodeCommitClientConfig } from "@aws-sdk/client-codecommit";
 * const config = {}; // type is CodeCommitClientConfig
 * const client = new CodeCommitClient(config);
 * const input = { // UpdateCommentInput
 *   commentId: "STRING_VALUE", // required
 *   content: "STRING_VALUE", // required
 * };
 * const command = new UpdateCommentCommand(input);
 * const response = await client.send(command);
 * // { // UpdateCommentOutput
 * //   comment: { // Comment
 * //     commentId: "STRING_VALUE",
 * //     content: "STRING_VALUE",
 * //     inReplyTo: "STRING_VALUE",
 * //     creationDate: new Date("TIMESTAMP"),
 * //     lastModifiedDate: new Date("TIMESTAMP"),
 * //     authorArn: "STRING_VALUE",
 * //     deleted: true || false,
 * //     clientRequestToken: "STRING_VALUE",
 * //     callerReactions: [ // CallerReactions
 * //       "STRING_VALUE",
 * //     ],
 * //     reactionCounts: { // ReactionCountsMap
 * //       "<keys>": Number("int"),
 * //     },
 * //   },
 * // };
 *
 * ```
 *
 * @param UpdateCommentCommandInput - {@link UpdateCommentCommandInput}
 * @returns {@link UpdateCommentCommandOutput}
 * @see {@link UpdateCommentCommandInput} for command's `input` shape.
 * @see {@link UpdateCommentCommandOutput} for command's `response` shape.
 * @see {@link CodeCommitClientResolvedConfig | config} for CodeCommitClient's `config` shape.
 *
 * @throws {@link CommentContentRequiredException} (client fault)
 *  <p>The comment is empty. You must provide some content for a comment. The content cannot be null.</p>
 *
 * @throws {@link CommentContentSizeLimitExceededException} (client fault)
 *  <p>The comment is too large. Comments are limited to 10,240 characters.</p>
 *
 * @throws {@link CommentDeletedException} (client fault)
 *  <p>This comment has already been deleted. You cannot edit or delete a deleted comment.</p>
 *
 * @throws {@link CommentDoesNotExistException} (client fault)
 *  <p>No comment exists with the provided ID. Verify that you have used the correct ID, and
 *             then try again.</p>
 *
 * @throws {@link CommentIdRequiredException} (client fault)
 *  <p>The comment ID is missing or null. A comment ID is required.</p>
 *
 * @throws {@link CommentNotCreatedByCallerException} (client fault)
 *  <p>You cannot modify or delete this comment. Only comment authors can modify or delete their comments.</p>
 *
 * @throws {@link InvalidCommentIdException} (client fault)
 *  <p>The comment ID is not in a valid format. Make sure that you have provided the full comment ID.</p>
 *
 * @throws {@link CodeCommitServiceException}
 * <p>Base exception class for all service exceptions from CodeCommit service.</p>
 *
 *
 * @public
 */
export declare class UpdateCommentCommand extends UpdateCommentCommand_base {
    /** @internal type navigation helper, not in runtime. */
    protected static __types: {
        api: {
            input: UpdateCommentInput;
            output: UpdateCommentOutput;
        };
        sdk: {
            input: UpdateCommentCommandInput;
            output: UpdateCommentCommandOutput;
        };
    };
}
