import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Whether this statement should allow or deny actions on the resources.
 */
export declare const AccessDeniedReasonEffect: {
    readonly Allow: "allow";
    readonly Deny: "deny";
};
/**
 * Whether this statement should allow or deny actions on the resources.
 */
export type AccessDeniedReasonEffect = ClosedEnum<typeof AccessDeniedReasonEffect>;
export type AccessDeniedReason = {
    /**
     * Resource specifier strings
     */
    resources?: Array<string> | undefined;
    /**
     * Targeted resources are the resources NOT in this list. The <code>resources</code> and <code>notActions</code> fields must be empty to use this field.
     */
    notResources?: Array<string> | undefined;
    /**
     * Actions to perform on a resource
     */
    actions?: Array<string> | undefined;
    /**
     * Targeted actions are the actions NOT in this list. The <code>actions</code> and <code>notResources</code> fields must be empty to use this field.
     */
    notActions?: Array<string> | undefined;
    /**
     * Whether this statement should allow or deny actions on the resources.
     */
    effect: AccessDeniedReasonEffect;
    roleName?: string | undefined;
};
/** @internal */
export declare const AccessDeniedReasonEffect$inboundSchema: z.ZodNativeEnum<typeof AccessDeniedReasonEffect>;
/** @internal */
export declare const AccessDeniedReasonEffect$outboundSchema: z.ZodNativeEnum<typeof AccessDeniedReasonEffect>;
/** @internal */
export declare const AccessDeniedReason$inboundSchema: z.ZodType<AccessDeniedReason, z.ZodTypeDef, unknown>;
/** @internal */
export type AccessDeniedReason$Outbound = {
    resources?: Array<string> | undefined;
    notResources?: Array<string> | undefined;
    actions?: Array<string> | undefined;
    notActions?: Array<string> | undefined;
    effect: string;
    role_name?: string | undefined;
};
/** @internal */
export declare const AccessDeniedReason$outboundSchema: z.ZodType<AccessDeniedReason$Outbound, z.ZodTypeDef, AccessDeniedReason>;
export declare function accessDeniedReasonToJSON(accessDeniedReason: AccessDeniedReason): string;
export declare function accessDeniedReasonFromJSON(jsonString: string): SafeParseResult<AccessDeniedReason, SDKValidationError>;
//# sourceMappingURL=accessdeniedreason.d.ts.map