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";
/**
 * Public reporting dimension to filter on. Valid fields depend on the selected metric.
 */
export declare const Field: {
    readonly Project: "project";
    readonly Identity: "identity";
    readonly Provider: "provider";
    readonly Model: "model";
    readonly Product: "product";
    readonly ApiKey: "api_key";
    readonly StatusCode: "status_code";
    readonly HttpStatusCode: "http_status_code";
    readonly CredentialType: "credential_type";
    readonly BillingBillable: "billing_billable";
    readonly Dimension: "dimension";
    readonly DimensionType: "dimension_type";
    readonly Tag: "tag";
    readonly Agent: "agent";
    readonly Tool: "tool";
    readonly Deployment: "deployment";
    readonly Evaluator: "evaluator";
    readonly Dataset: "dataset";
    readonly Prompt: "prompt";
    readonly Policy: "policy";
    readonly Conversation: "conversation";
    readonly Thread: "thread";
    readonly MemoryStore: "memory_store";
    readonly Knowledge: "knowledge";
    readonly Sheet: "sheet";
    readonly GuardrailOrigin: "guardrail_origin";
    readonly EvaluatorName: "evaluator_name";
    readonly EvaluatorType: "evaluator_type";
    readonly EvaluatorVersion: "evaluator_version";
    readonly ResultType: "result_type";
    readonly EvaluationStage: "evaluation_stage";
    readonly GuardrailStage: "guardrail_stage";
    readonly EvaluatorStage: "evaluator_stage";
    readonly GuardrailAction: "guardrail_action";
    readonly ResultLabel: "result_label";
};
/**
 * Public reporting dimension to filter on. Valid fields depend on the selected metric.
 */
export type Field = ClosedEnum<typeof Field>;
/**
 * Predicate operator. `eq` and `neq` accept exactly one value; `in` and `not_in` accept 1-100 values.
 */
export declare const Op: {
    readonly Eq: "eq";
    readonly Neq: "neq";
    readonly In: "in";
    readonly NotIn: "not_in";
};
/**
 * Predicate operator. `eq` and `neq` accept exactly one value; `in` and `not_in` accept 1-100 values.
 */
export type Op = ClosedEnum<typeof Op>;
export type Filter = {
    /**
     * Public reporting dimension to filter on. Valid fields depend on the selected metric.
     */
    field?: Field | undefined;
    /**
     * Predicate operator. `eq` and `neq` accept exactly one value; `in` and `not_in` accept 1-100 values.
     */
    op?: Op | undefined;
    /**
     * Values compared against the selected field. Values are interpreted
     *
     * @remarks
     *  as public API strings, not SQL fragments.
     */
    values?: Array<string> | undefined;
};
/** @internal */
export declare const Field$inboundSchema: z.ZodNativeEnum<typeof Field>;
/** @internal */
export declare const Field$outboundSchema: z.ZodNativeEnum<typeof Field>;
/** @internal */
export declare const Op$inboundSchema: z.ZodNativeEnum<typeof Op>;
/** @internal */
export declare const Op$outboundSchema: z.ZodNativeEnum<typeof Op>;
/** @internal */
export declare const Filter$inboundSchema: z.ZodType<Filter, z.ZodTypeDef, unknown>;
/** @internal */
export type Filter$Outbound = {
    field?: string | undefined;
    op?: string | undefined;
    values?: Array<string> | undefined;
};
/** @internal */
export declare const Filter$outboundSchema: z.ZodType<Filter$Outbound, z.ZodTypeDef, Filter>;
export declare function filterToJSON(filter: Filter): string;
export declare function filterFromJSON(jsonString: string): SafeParseResult<Filter, SDKValidationError>;
//# sourceMappingURL=filter.d.ts.map