import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { AiConfigsFilter, AiConfigsFilter$Outbound } from "./aiconfigsfilter.js";
import { AiConfigsMetricDataSourceRefRep, AiConfigsMetricDataSourceRefRep$Outbound } from "./aiconfigsmetricdatasourcerefrep.js";
export type AiConfigsMetricDenominatorRep = {
    /**
     * The warehouse event column for the denominator
     */
    eventName?: string | undefined;
    /**
     * Whether the denominator aggregates a numeric value
     */
    isNumeric?: boolean | undefined;
    /**
     * How individual unit values are aggregated for the denominator
     */
    unitAggregationType?: string | undefined;
    /**
     * The column to count distinct values of; required when unitAggregationType is count_distinct
     */
    unitAggregationField?: string | undefined;
    /**
     * For a numeric denominator, the column holding the numeric value
     */
    valueColumn?: string | undefined;
    dataSource?: AiConfigsMetricDataSourceRefRep | undefined;
    filters?: AiConfigsFilter | undefined;
    /**
     * Start of the measurement window in milliseconds
     */
    windowStartOffset?: number | undefined;
    /**
     * End of the measurement window in milliseconds
     */
    windowEndOffset?: number | undefined;
    /**
     * Lower winsorization percentile in the open interval (0, 100)
     */
    winsorLowerPercentile?: number | undefined;
    /**
     * Upper winsorization percentile in the open interval (0, 100)
     */
    winsorUpperPercentile?: number | undefined;
    /**
     * When true, the percentile bound calculation includes imputed zeros
     */
    winsorIncludeImputed?: boolean | undefined;
};
/** @internal */
export declare const AiConfigsMetricDenominatorRep$inboundSchema: z.ZodType<AiConfigsMetricDenominatorRep, z.ZodTypeDef, unknown>;
/** @internal */
export type AiConfigsMetricDenominatorRep$Outbound = {
    eventName?: string | undefined;
    isNumeric?: boolean | undefined;
    unitAggregationType?: string | undefined;
    unitAggregationField?: string | undefined;
    valueColumn?: string | undefined;
    dataSource?: AiConfigsMetricDataSourceRefRep$Outbound | undefined;
    filters?: AiConfigsFilter$Outbound | undefined;
    windowStartOffset?: number | undefined;
    windowEndOffset?: number | undefined;
    winsorLowerPercentile?: number | undefined;
    winsorUpperPercentile?: number | undefined;
    winsorIncludeImputed?: boolean | undefined;
};
/** @internal */
export declare const AiConfigsMetricDenominatorRep$outboundSchema: z.ZodType<AiConfigsMetricDenominatorRep$Outbound, z.ZodTypeDef, AiConfigsMetricDenominatorRep>;
export declare function aiConfigsMetricDenominatorRepToJSON(aiConfigsMetricDenominatorRep: AiConfigsMetricDenominatorRep): string;
export declare function aiConfigsMetricDenominatorRepFromJSON(jsonString: string): SafeParseResult<AiConfigsMetricDenominatorRep, SDKValidationError>;
//# sourceMappingURL=aiconfigsmetricdenominatorrep.d.ts.map