import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { EventFilter, EventFilter$Outbound } from "./eventfilter.js";
import { MetricDataSourceRefRep, MetricDataSourceRefRep$Outbound } from "./metricdatasourcerefrep.js";
export type DenominatorPost = {
    /**
     * The warehouse event column for the denominator. Required.
     */
    eventName?: string | undefined;
    /**
     * Whether the denominator aggregates a numeric value
     */
    isNumeric?: boolean | undefined;
    dataSource?: MetricDataSourceRefRep | undefined;
    /**
     * How individual unit values are aggregated. One of: average, sum, count_distinct
     */
    unitAggregationType?: string | undefined;
    /**
     * The warehouse column to use for counting distinct values. Required when the unitAggregationType is count_distinct.
     */
    unitAggregationField?: string | undefined;
    /**
     * For a numeric denominator, the column holding the numeric value. Overrides the value column mapped on the denominator data source.
     */
    valueColumn?: string | undefined;
    filters?: EventFilter | 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, includes imputed zeros in the percentile bound calculation
     */
    winsorIncludeImputed?: boolean | undefined;
};
/** @internal */
export declare const DenominatorPost$inboundSchema: z.ZodType<DenominatorPost, z.ZodTypeDef, unknown>;
/** @internal */
export type DenominatorPost$Outbound = {
    eventName?: string | undefined;
    isNumeric?: boolean | undefined;
    dataSource?: MetricDataSourceRefRep$Outbound | undefined;
    unitAggregationType?: string | undefined;
    unitAggregationField?: string | undefined;
    valueColumn?: string | undefined;
    filters?: EventFilter$Outbound | undefined;
    windowStartOffset?: number | undefined;
    windowEndOffset?: number | undefined;
    winsorLowerPercentile?: number | undefined;
    winsorUpperPercentile?: number | undefined;
    winsorIncludeImputed?: boolean | undefined;
};
/** @internal */
export declare const DenominatorPost$outboundSchema: z.ZodType<DenominatorPost$Outbound, z.ZodTypeDef, DenominatorPost>;
export declare function denominatorPostToJSON(denominatorPost: DenominatorPost): string;
export declare function denominatorPostFromJSON(jsonString: string): SafeParseResult<DenominatorPost, SDKValidationError>;
//# sourceMappingURL=denominatorpost.d.ts.map