import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The condition that triggers this rule. Ensure it adheres to the metadata rule condition schema.
 */
export type MetadataRuleUpdateCondition = {};
/**
 * The result to apply when the condition is met, should adhere to the metadata rule result schema.
 */
export type MetadataRuleUpdateResult = {};
/**
 * The state of the rule.
 */
export declare const MetadataRuleUpdateState: {
    readonly Active: "active";
    readonly Inactive: "inactive";
};
/**
 * The state of the rule.
 */
export type MetadataRuleUpdateState = ClosedEnum<typeof MetadataRuleUpdateState>;
export type MetadataRuleUpdate = {
    /**
     * The ID of the metadata field this rule applies to.
     */
    metadataFieldId?: string | undefined;
    /**
     * A descriptive name for the metadata rule.
     */
    name?: string | undefined;
    /**
     * The condition that triggers this rule. Ensure it adheres to the metadata rule condition schema.
     */
    condition?: MetadataRuleUpdateCondition | undefined;
    /**
     * The result to apply when the condition is met, should adhere to the metadata rule result schema.
     */
    result?: MetadataRuleUpdateResult | undefined;
    /**
     * The state of the rule.
     */
    state?: MetadataRuleUpdateState | undefined;
    /**
     * The position/order of this rule relative to other rules.
     */
    position?: number | undefined;
    /**
     * The unique identifier of the metadata rule.
     */
    externalId?: string | undefined;
};
/** @internal */
export declare const MetadataRuleUpdateCondition$inboundSchema: z.ZodType<MetadataRuleUpdateCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleUpdateCondition$Outbound = {};
/** @internal */
export declare const MetadataRuleUpdateCondition$outboundSchema: z.ZodType<MetadataRuleUpdateCondition$Outbound, z.ZodTypeDef, MetadataRuleUpdateCondition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleUpdateCondition$ {
    /** @deprecated use `MetadataRuleUpdateCondition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleUpdateCondition, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleUpdateCondition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleUpdateCondition$Outbound, z.ZodTypeDef, MetadataRuleUpdateCondition>;
    /** @deprecated use `MetadataRuleUpdateCondition$Outbound` instead. */
    type Outbound = MetadataRuleUpdateCondition$Outbound;
}
export declare function metadataRuleUpdateConditionToJSON(metadataRuleUpdateCondition: MetadataRuleUpdateCondition): string;
export declare function metadataRuleUpdateConditionFromJSON(jsonString: string): SafeParseResult<MetadataRuleUpdateCondition, SDKValidationError>;
/** @internal */
export declare const MetadataRuleUpdateResult$inboundSchema: z.ZodType<MetadataRuleUpdateResult, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleUpdateResult$Outbound = {};
/** @internal */
export declare const MetadataRuleUpdateResult$outboundSchema: z.ZodType<MetadataRuleUpdateResult$Outbound, z.ZodTypeDef, MetadataRuleUpdateResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleUpdateResult$ {
    /** @deprecated use `MetadataRuleUpdateResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleUpdateResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleUpdateResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleUpdateResult$Outbound, z.ZodTypeDef, MetadataRuleUpdateResult>;
    /** @deprecated use `MetadataRuleUpdateResult$Outbound` instead. */
    type Outbound = MetadataRuleUpdateResult$Outbound;
}
export declare function metadataRuleUpdateResultToJSON(metadataRuleUpdateResult: MetadataRuleUpdateResult): string;
export declare function metadataRuleUpdateResultFromJSON(jsonString: string): SafeParseResult<MetadataRuleUpdateResult, SDKValidationError>;
/** @internal */
export declare const MetadataRuleUpdateState$inboundSchema: z.ZodNativeEnum<typeof MetadataRuleUpdateState>;
/** @internal */
export declare const MetadataRuleUpdateState$outboundSchema: z.ZodNativeEnum<typeof MetadataRuleUpdateState>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleUpdateState$ {
    /** @deprecated use `MetadataRuleUpdateState$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Inactive: "inactive";
    }>;
    /** @deprecated use `MetadataRuleUpdateState$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Inactive: "inactive";
    }>;
}
/** @internal */
export declare const MetadataRuleUpdate$inboundSchema: z.ZodType<MetadataRuleUpdate, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleUpdate$Outbound = {
    metadata_field_id?: string | undefined;
    name?: string | undefined;
    condition?: MetadataRuleUpdateCondition$Outbound | undefined;
    result?: MetadataRuleUpdateResult$Outbound | undefined;
    state?: string | undefined;
    position?: number | undefined;
    external_id?: string | undefined;
};
/** @internal */
export declare const MetadataRuleUpdate$outboundSchema: z.ZodType<MetadataRuleUpdate$Outbound, z.ZodTypeDef, MetadataRuleUpdate>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleUpdate$ {
    /** @deprecated use `MetadataRuleUpdate$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleUpdate, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleUpdate$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleUpdate$Outbound, z.ZodTypeDef, MetadataRuleUpdate>;
    /** @deprecated use `MetadataRuleUpdate$Outbound` instead. */
    type Outbound = MetadataRuleUpdate$Outbound;
}
export declare function metadataRuleUpdateToJSON(metadataRuleUpdate: MetadataRuleUpdate): string;
export declare function metadataRuleUpdateFromJSON(jsonString: string): SafeParseResult<MetadataRuleUpdate, SDKValidationError>;
//# sourceMappingURL=metadataruleupdate.d.ts.map