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 MetadataRuleCreateCondition = {};
/**
 * The result to apply when the condition is met, should adhere to the metadata rule result schema.
 */
export type MetadataRuleCreateResult = {};
/**
 * The state of the rule.
 */
export declare const MetadataRuleCreateState: {
    readonly Active: "active";
    readonly Inactive: "inactive";
};
/**
 * The state of the rule.
 */
export type MetadataRuleCreateState = ClosedEnum<typeof MetadataRuleCreateState>;
export type MetadataRuleCreate = {
    /**
     * The ID of the metadata field this rule applies to.
     */
    metadataFieldId: string;
    /**
     * A descriptive name for the metadata rule.
     */
    name: string;
    /**
     * The condition that triggers this rule. Ensure it adheres to the metadata rule condition schema.
     */
    condition: MetadataRuleCreateCondition;
    /**
     * The result to apply when the condition is met, should adhere to the metadata rule result schema.
     */
    result: MetadataRuleCreateResult;
    /**
     * The state of the rule.
     */
    state?: MetadataRuleCreateState | undefined;
    /**
     * The position/order of this rule relative to other rules.
     */
    position?: number | undefined;
};
/** @internal */
export declare const MetadataRuleCreateCondition$inboundSchema: z.ZodType<MetadataRuleCreateCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleCreateCondition$Outbound = {};
/** @internal */
export declare const MetadataRuleCreateCondition$outboundSchema: z.ZodType<MetadataRuleCreateCondition$Outbound, z.ZodTypeDef, MetadataRuleCreateCondition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleCreateCondition$ {
    /** @deprecated use `MetadataRuleCreateCondition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleCreateCondition, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleCreateCondition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleCreateCondition$Outbound, z.ZodTypeDef, MetadataRuleCreateCondition>;
    /** @deprecated use `MetadataRuleCreateCondition$Outbound` instead. */
    type Outbound = MetadataRuleCreateCondition$Outbound;
}
export declare function metadataRuleCreateConditionToJSON(metadataRuleCreateCondition: MetadataRuleCreateCondition): string;
export declare function metadataRuleCreateConditionFromJSON(jsonString: string): SafeParseResult<MetadataRuleCreateCondition, SDKValidationError>;
/** @internal */
export declare const MetadataRuleCreateResult$inboundSchema: z.ZodType<MetadataRuleCreateResult, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleCreateResult$Outbound = {};
/** @internal */
export declare const MetadataRuleCreateResult$outboundSchema: z.ZodType<MetadataRuleCreateResult$Outbound, z.ZodTypeDef, MetadataRuleCreateResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleCreateResult$ {
    /** @deprecated use `MetadataRuleCreateResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleCreateResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleCreateResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleCreateResult$Outbound, z.ZodTypeDef, MetadataRuleCreateResult>;
    /** @deprecated use `MetadataRuleCreateResult$Outbound` instead. */
    type Outbound = MetadataRuleCreateResult$Outbound;
}
export declare function metadataRuleCreateResultToJSON(metadataRuleCreateResult: MetadataRuleCreateResult): string;
export declare function metadataRuleCreateResultFromJSON(jsonString: string): SafeParseResult<MetadataRuleCreateResult, SDKValidationError>;
/** @internal */
export declare const MetadataRuleCreateState$inboundSchema: z.ZodNativeEnum<typeof MetadataRuleCreateState>;
/** @internal */
export declare const MetadataRuleCreateState$outboundSchema: z.ZodNativeEnum<typeof MetadataRuleCreateState>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleCreateState$ {
    /** @deprecated use `MetadataRuleCreateState$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Inactive: "inactive";
    }>;
    /** @deprecated use `MetadataRuleCreateState$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Inactive: "inactive";
    }>;
}
/** @internal */
export declare const MetadataRuleCreate$inboundSchema: z.ZodType<MetadataRuleCreate, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleCreate$Outbound = {
    metadata_field_id: string;
    name: string;
    condition: MetadataRuleCreateCondition$Outbound;
    result: MetadataRuleCreateResult$Outbound;
    state?: string | undefined;
    position?: number | undefined;
};
/** @internal */
export declare const MetadataRuleCreate$outboundSchema: z.ZodType<MetadataRuleCreate$Outbound, z.ZodTypeDef, MetadataRuleCreate>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleCreate$ {
    /** @deprecated use `MetadataRuleCreate$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleCreate, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleCreate$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleCreate$Outbound, z.ZodTypeDef, MetadataRuleCreate>;
    /** @deprecated use `MetadataRuleCreate$Outbound` instead. */
    type Outbound = MetadataRuleCreate$Outbound;
}
export declare function metadataRuleCreateToJSON(metadataRuleCreate: MetadataRuleCreate): string;
export declare function metadataRuleCreateFromJSON(jsonString: string): SafeParseResult<MetadataRuleCreate, SDKValidationError>;
//# sourceMappingURL=metadatarulecreate.d.ts.map