import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type PolicyUpdateRequestBody = {
    description?: string | undefined;
    displayName?: string | undefined;
    enabled?: boolean | undefined;
    evaluators?: Array<components.EvaluatorRef> | undefined;
    limits?: components.Limits | undefined;
    modelsConfig?: components.ModelsConfig | undefined;
    /**
     * Optional project ID to assign the policy to.
     */
    projectId?: string | undefined;
    retryConfig?: components.PolicyRetryConfig | undefined;
    timeout?: number | undefined;
};
export type PolicyUpdateRequest = {
    /**
     * The ID of the policy
     */
    policyId: string;
    requestBody: PolicyUpdateRequestBody;
};
/**
 * Policy updated successfully
 */
export type PolicyUpdateResponseBody = {
    id: string;
    createdAt: Date;
    createdById: string;
    description?: string | undefined;
    displayName: string;
    enabled: boolean;
    evaluators?: Array<components.EvaluatorRef> | null | undefined;
    limits?: components.Limits | undefined;
    modelsConfig?: components.ModelsConfig | undefined;
    projectId: string;
    retryConfig?: components.PolicyRetryConfig | undefined;
    slug: string;
    timeout: number;
    updatedAt: Date;
    updatedById: string;
};
/** @internal */
export type PolicyUpdateRequestBody$Outbound = {
    description?: string | undefined;
    display_name?: string | undefined;
    enabled?: boolean | undefined;
    evaluators?: Array<components.EvaluatorRef$Outbound> | undefined;
    limits?: components.Limits$Outbound | undefined;
    models_config?: components.ModelsConfig$Outbound | undefined;
    project_id?: string | undefined;
    retry_config?: components.PolicyRetryConfig$Outbound | undefined;
    timeout?: number | undefined;
};
/** @internal */
export declare const PolicyUpdateRequestBody$outboundSchema: z.ZodType<PolicyUpdateRequestBody$Outbound, z.ZodTypeDef, PolicyUpdateRequestBody>;
export declare function policyUpdateRequestBodyToJSON(policyUpdateRequestBody: PolicyUpdateRequestBody): string;
/** @internal */
export type PolicyUpdateRequest$Outbound = {
    policy_id: string;
    RequestBody: PolicyUpdateRequestBody$Outbound;
};
/** @internal */
export declare const PolicyUpdateRequest$outboundSchema: z.ZodType<PolicyUpdateRequest$Outbound, z.ZodTypeDef, PolicyUpdateRequest>;
export declare function policyUpdateRequestToJSON(policyUpdateRequest: PolicyUpdateRequest): string;
/** @internal */
export declare const PolicyUpdateResponseBody$inboundSchema: z.ZodType<PolicyUpdateResponseBody, z.ZodTypeDef, unknown>;
export declare function policyUpdateResponseBodyFromJSON(jsonString: string): SafeParseResult<PolicyUpdateResponseBody, SDKValidationError>;
//# sourceMappingURL=policyupdate.d.ts.map