import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type IamResource4 = {};
export type IamResourceSourceValue = string | number | boolean | IamResource4 | Array<any>;
/**
 * The type of the resource, e.g. user, group, permission, etc.
 */
export declare enum IamResourceValue {
    Project = "project",
    File = "file",
    Folder = "folder",
    Product = "product",
    Property = "property",
    User = "user",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the resource, e.g. user, group, permission, etc.
 */
export type IamResourceValueOpen = OpenEnum<typeof IamResourceValue>;
export type IamResourceType = {
    sourceValue?: string | number | boolean | IamResource4 | Array<any> | null | undefined;
    /**
     * The type of the resource, e.g. user, group, permission, etc.
     */
    value?: IamResourceValueOpen | null | undefined;
};
export type IamResource = {
    createdAt?: Date | null | undefined;
    description?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The location of the resource.
     */
    location?: string | null | undefined;
    /**
     * The name of the resource.
     */
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    type?: IamResourceType | null | undefined;
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const IamResource4$inboundSchema: z.ZodType<IamResource4, z.ZodTypeDef, unknown>;
export declare function iamResource4FromJSON(jsonString: string): SafeParseResult<IamResource4, SDKValidationError>;
/** @internal */
export declare const IamResourceSourceValue$inboundSchema: z.ZodType<IamResourceSourceValue, z.ZodTypeDef, unknown>;
export declare function iamResourceSourceValueFromJSON(jsonString: string): SafeParseResult<IamResourceSourceValue, SDKValidationError>;
/** @internal */
export declare const IamResourceValue$inboundSchema: z.ZodType<IamResourceValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const IamResourceType$inboundSchema: z.ZodType<IamResourceType, z.ZodTypeDef, unknown>;
export declare function iamResourceTypeFromJSON(jsonString: string): SafeParseResult<IamResourceType, SDKValidationError>;
/** @internal */
export declare const IamResource$inboundSchema: z.ZodType<IamResource, z.ZodTypeDef, unknown>;
export declare function iamResourceFromJSON(jsonString: string): SafeParseResult<IamResource, SDKValidationError>;
//# sourceMappingURL=iamresource.d.ts.map