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 MetadataRuleResponseCondition = {};
/**
 * The result to apply when the condition is met, should adhere to the metadata rule result schema.
 */
export type MetadataRuleResponseResult = {};
/**
 * The state of the rule.
 */
export declare const MetadataRuleResponseState: {
    readonly Active: "active";
    readonly Inactive: "inactive";
};
/**
 * The state of the rule.
 */
export type MetadataRuleResponseState = ClosedEnum<typeof MetadataRuleResponseState>;
export type MetadataRuleResponse = {
    /**
     * 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?: MetadataRuleResponseCondition | undefined;
    /**
     * The result to apply when the condition is met, should adhere to the metadata rule result schema.
     */
    result?: MetadataRuleResponseResult | undefined;
    /**
     * The state of the rule.
     */
    state?: MetadataRuleResponseState | undefined;
    /**
     * The position/order of this rule relative to other rules.
     */
    position?: number | undefined;
    /**
     * The unique identifier of the metadata rule.
     */
    externalId?: string | undefined;
    /**
     * A signature representing the condition structure.
     */
    conditionSignature?: string | undefined;
};
/** @internal */
export declare const MetadataRuleResponseCondition$inboundSchema: z.ZodType<MetadataRuleResponseCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleResponseCondition$Outbound = {};
/** @internal */
export declare const MetadataRuleResponseCondition$outboundSchema: z.ZodType<MetadataRuleResponseCondition$Outbound, z.ZodTypeDef, MetadataRuleResponseCondition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleResponseCondition$ {
    /** @deprecated use `MetadataRuleResponseCondition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleResponseCondition, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleResponseCondition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleResponseCondition$Outbound, z.ZodTypeDef, MetadataRuleResponseCondition>;
    /** @deprecated use `MetadataRuleResponseCondition$Outbound` instead. */
    type Outbound = MetadataRuleResponseCondition$Outbound;
}
export declare function metadataRuleResponseConditionToJSON(metadataRuleResponseCondition: MetadataRuleResponseCondition): string;
export declare function metadataRuleResponseConditionFromJSON(jsonString: string): SafeParseResult<MetadataRuleResponseCondition, SDKValidationError>;
/** @internal */
export declare const MetadataRuleResponseResult$inboundSchema: z.ZodType<MetadataRuleResponseResult, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleResponseResult$Outbound = {};
/** @internal */
export declare const MetadataRuleResponseResult$outboundSchema: z.ZodType<MetadataRuleResponseResult$Outbound, z.ZodTypeDef, MetadataRuleResponseResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleResponseResult$ {
    /** @deprecated use `MetadataRuleResponseResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleResponseResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleResponseResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleResponseResult$Outbound, z.ZodTypeDef, MetadataRuleResponseResult>;
    /** @deprecated use `MetadataRuleResponseResult$Outbound` instead. */
    type Outbound = MetadataRuleResponseResult$Outbound;
}
export declare function metadataRuleResponseResultToJSON(metadataRuleResponseResult: MetadataRuleResponseResult): string;
export declare function metadataRuleResponseResultFromJSON(jsonString: string): SafeParseResult<MetadataRuleResponseResult, SDKValidationError>;
/** @internal */
export declare const MetadataRuleResponseState$inboundSchema: z.ZodNativeEnum<typeof MetadataRuleResponseState>;
/** @internal */
export declare const MetadataRuleResponseState$outboundSchema: z.ZodNativeEnum<typeof MetadataRuleResponseState>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleResponseState$ {
    /** @deprecated use `MetadataRuleResponseState$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Inactive: "inactive";
    }>;
    /** @deprecated use `MetadataRuleResponseState$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Inactive: "inactive";
    }>;
}
/** @internal */
export declare const MetadataRuleResponse$inboundSchema: z.ZodType<MetadataRuleResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type MetadataRuleResponse$Outbound = {
    metadata_field_id?: string | undefined;
    name?: string | undefined;
    condition?: MetadataRuleResponseCondition$Outbound | undefined;
    result?: MetadataRuleResponseResult$Outbound | undefined;
    state?: string | undefined;
    position?: number | undefined;
    external_id?: string | undefined;
    condition_signature?: string | undefined;
};
/** @internal */
export declare const MetadataRuleResponse$outboundSchema: z.ZodType<MetadataRuleResponse$Outbound, z.ZodTypeDef, MetadataRuleResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MetadataRuleResponse$ {
    /** @deprecated use `MetadataRuleResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MetadataRuleResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `MetadataRuleResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MetadataRuleResponse$Outbound, z.ZodTypeDef, MetadataRuleResponse>;
    /** @deprecated use `MetadataRuleResponse$Outbound` instead. */
    type Outbound = MetadataRuleResponse$Outbound;
}
export declare function metadataRuleResponseToJSON(metadataRuleResponse: MetadataRuleResponse): string;
export declare function metadataRuleResponseFromJSON(jsonString: string): SafeParseResult<MetadataRuleResponse, SDKValidationError>;
//# sourceMappingURL=metadataruleresponse.d.ts.map