import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
/**
 * The issuer policy kind.
 */
export declare const PathParamKind: {
    readonly ProjectGrant: "project-grant";
};
/**
 * The issuer policy kind.
 */
export type PathParamKind = ClosedEnum<typeof PathParamKind>;
export type UpdateKmsIssuerPolicyRequestBody = {
    /**
     * The environments for the project grant policy. Each entry is a system environment (production, preview, development) or a custom environment ID (env_...).
     */
    environments?: Array<string> | undefined;
    /**
     * The claims that KMS should include in signed JWTs for this policy. Pass null to remove them.
     */
    tokenClaims?: {
        [k: string]: any;
    } | null | undefined;
};
export type UpdateKmsIssuerPolicyRequest = {
    /**
     * The ID of the issuer.
     */
    issuerId: string;
    /**
     * The issuer policy kind.
     */
    kind: PathParamKind;
    /**
     * The policy identifier.
     */
    policyKey: string;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
    requestBody?: UpdateKmsIssuerPolicyRequestBody | undefined;
};
export type UpdateKmsIssuerPolicyResponseBody2 = {
    kind: "connex-grant";
    clientId: string;
    tokenClaims?: {
        [k: string]: any;
    } | undefined;
    createdAt: string;
    updatedAt: string;
};
export type UpdateKmsIssuerPolicyResponseBody1 = {
    kind: "project-grant";
    teamId: string;
    projectId: string;
    /**
     * Environments whose OIDC tokens this grant authorizes. Each entry is either a system environment slug (`production`, `preview`, `development`) or a custom environment ID (prefixed `env_`). Custom environments are matched against the token's `custom_environment_id` claim (the stable ID); system environments against its `environment` claim.
     */
    environments: Array<string>;
    tokenClaims?: {
        [k: string]: any;
    } | undefined;
    createdAt: string;
    updatedAt: string;
};
export type UpdateKmsIssuerPolicyResponseBody = UpdateKmsIssuerPolicyResponseBody1 | UpdateKmsIssuerPolicyResponseBody2;
/** @internal */
export declare const PathParamKind$outboundSchema: z.ZodNativeEnum<typeof PathParamKind>;
/** @internal */
export type UpdateKmsIssuerPolicyRequestBody$Outbound = {
    environments?: Array<string> | undefined;
    tokenClaims?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const UpdateKmsIssuerPolicyRequestBody$outboundSchema: z.ZodType<UpdateKmsIssuerPolicyRequestBody$Outbound, z.ZodTypeDef, UpdateKmsIssuerPolicyRequestBody>;
export declare function updateKmsIssuerPolicyRequestBodyToJSON(updateKmsIssuerPolicyRequestBody: UpdateKmsIssuerPolicyRequestBody): string;
/** @internal */
export type UpdateKmsIssuerPolicyRequest$Outbound = {
    issuerId: string;
    kind: string;
    policyKey: string;
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: UpdateKmsIssuerPolicyRequestBody$Outbound | undefined;
};
/** @internal */
export declare const UpdateKmsIssuerPolicyRequest$outboundSchema: z.ZodType<UpdateKmsIssuerPolicyRequest$Outbound, z.ZodTypeDef, UpdateKmsIssuerPolicyRequest>;
export declare function updateKmsIssuerPolicyRequestToJSON(updateKmsIssuerPolicyRequest: UpdateKmsIssuerPolicyRequest): string;
/** @internal */
export declare const UpdateKmsIssuerPolicyResponseBody2$inboundSchema: z.ZodType<UpdateKmsIssuerPolicyResponseBody2, z.ZodTypeDef, unknown>;
export declare function updateKmsIssuerPolicyResponseBody2FromJSON(jsonString: string): SafeParseResult<UpdateKmsIssuerPolicyResponseBody2, SDKValidationError>;
/** @internal */
export declare const UpdateKmsIssuerPolicyResponseBody1$inboundSchema: z.ZodType<UpdateKmsIssuerPolicyResponseBody1, z.ZodTypeDef, unknown>;
export declare function updateKmsIssuerPolicyResponseBody1FromJSON(jsonString: string): SafeParseResult<UpdateKmsIssuerPolicyResponseBody1, SDKValidationError>;
/** @internal */
export declare const UpdateKmsIssuerPolicyResponseBody$inboundSchema: z.ZodType<UpdateKmsIssuerPolicyResponseBody, z.ZodTypeDef, unknown>;
export declare function updateKmsIssuerPolicyResponseBodyFromJSON(jsonString: string): SafeParseResult<UpdateKmsIssuerPolicyResponseBody, SDKValidationError>;
//# sourceMappingURL=updatekmsissuerpolicyop.d.ts.map