import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposActionsRunsDeploymentProtectionRule } from "../../../../../structures/IApiReposActionsRunsDeploymentProtectionRule";
import { review_minus_custom_minus_gates_minus_comment_minus_required } from "../../../../../structures/review_minus_custom_minus_gates_minus_comment_minus_required";
import { review_minus_custom_minus_gates_minus_state_minus_required } from "../../../../../structures/review_minus_custom_minus_gates_minus_state_minus_required";
/**
 * Review custom deployment protection rules for a workflow run.
 * Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)."
 *
 * > [!NOTE]
 * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run).
 *
 * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
 *
 * @tag actions
 * @path repos/:owner/:repo/actions/runs/:run_id/deployment_protection_rule
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function postByOwnerAndRepoAndRun_id(connection: IConnection<postByOwnerAndRepoAndRun_id.Headers>, owner: string, repo: string, run_id: string, body: postByOwnerAndRepoAndRun_id.Input): Promise<void>;
export declare namespace postByOwnerAndRepoAndRun_id {
    type Headers = IApiReposActionsRunsDeploymentProtectionRule.PostHeader;
    type Input = review_minus_custom_minus_gates_minus_comment_minus_required | review_minus_custom_minus_gates_minus_state_minus_required;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:owner/:repo/actions/runs/:run_id/deployment_protection_rule";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, run_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<postByOwnerAndRepoAndRun_id.Headers>, owner: string, repo: string, run_id: string, body: postByOwnerAndRepoAndRun_id.Input) => void;
}
