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 AccessAllowedReasonEffect: {
    readonly Allow: "allow";
    readonly Deny: "deny";
};
/**
 * Whether this statement should allow or deny actions on the resources.
 */
export type AccessAllowedReasonEffect = ClosedEnum<typeof AccessAllowedReasonEffect>;
export type AccessAllowedReason = {
    /**
     * 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: AccessAllowedReasonEffect;
    roleName?: string | undefined;
};
/** @internal */
export declare const AccessAllowedReasonEffect$inboundSchema: z.ZodNativeEnum<typeof AccessAllowedReasonEffect>;
/** @internal */
export declare const AccessAllowedReasonEffect$outboundSchema: z.ZodNativeEnum<typeof AccessAllowedReasonEffect>;
/** @internal */
export declare const AccessAllowedReason$inboundSchema: z.ZodType<AccessAllowedReason, z.ZodTypeDef, unknown>;
/** @internal */
export type AccessAllowedReason$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 AccessAllowedReason$outboundSchema: z.ZodType<AccessAllowedReason$Outbound, z.ZodTypeDef, AccessAllowedReason>;
export declare function accessAllowedReasonToJSON(accessAllowedReason: AccessAllowedReason): string;
export declare function accessAllowedReasonFromJSON(jsonString: string): SafeParseResult<AccessAllowedReason, SDKValidationError>;
//# sourceMappingURL=accessallowedreason.d.ts.map