import * as z from "zod/v4-mini";
import { RFCDate } from "../../types/rfcdate.js";
import { ProductBillingType } from "../components/productbillingtype.js";
import { TimeInterval } from "../components/timeinterval.js";
/**
 * Filter by organization ID.
 */
export type MetricsExportQueryParamOrganizationIDFilter = string | Array<string>;
/**
 * Filter by product ID.
 */
export type MetricsExportQueryParamProductIDFilter = string | Array<string>;
/**
 * Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases.
 */
export type MetricsExportQueryParamProductBillingTypeFilter = ProductBillingType | Array<ProductBillingType>;
/**
 * Filter by customer ID.
 */
export type MetricsExportQueryParamCustomerIDFilter = string | Array<string>;
export type MetricsExportRequest = {
    /**
     * Start date.
     */
    startDate: RFCDate;
    /**
     * End date.
     */
    endDate: RFCDate;
    /**
     * Timezone to use for the timestamps. Default is UTC.
     */
    timezone?: string | undefined;
    /**
     * Interval between two timestamps.
     */
    interval: TimeInterval;
    /**
     * Filter by organization ID.
     */
    organizationId?: string | Array<string> | null | undefined;
    /**
     * Filter by product ID.
     */
    productId?: string | Array<string> | null | undefined;
    /**
     * Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases.
     */
    billingType?: ProductBillingType | Array<ProductBillingType> | null | undefined;
    /**
     * Filter by customer ID.
     */
    customerId?: string | Array<string> | null | undefined;
    /**
     * List of metric slugs to include in the export. If not provided, all metrics are exported.
     */
    metrics?: Array<string> | null | undefined;
};
/** @internal */
export type MetricsExportQueryParamOrganizationIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const MetricsExportQueryParamOrganizationIDFilter$outboundSchema: z.ZodMiniType<MetricsExportQueryParamOrganizationIDFilter$Outbound, MetricsExportQueryParamOrganizationIDFilter>;
export declare function metricsExportQueryParamOrganizationIDFilterToJSON(metricsExportQueryParamOrganizationIDFilter: MetricsExportQueryParamOrganizationIDFilter): string;
/** @internal */
export type MetricsExportQueryParamProductIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const MetricsExportQueryParamProductIDFilter$outboundSchema: z.ZodMiniType<MetricsExportQueryParamProductIDFilter$Outbound, MetricsExportQueryParamProductIDFilter>;
export declare function metricsExportQueryParamProductIDFilterToJSON(metricsExportQueryParamProductIDFilter: MetricsExportQueryParamProductIDFilter): string;
/** @internal */
export type MetricsExportQueryParamProductBillingTypeFilter$Outbound = string | Array<string>;
/** @internal */
export declare const MetricsExportQueryParamProductBillingTypeFilter$outboundSchema: z.ZodMiniType<MetricsExportQueryParamProductBillingTypeFilter$Outbound, MetricsExportQueryParamProductBillingTypeFilter>;
export declare function metricsExportQueryParamProductBillingTypeFilterToJSON(metricsExportQueryParamProductBillingTypeFilter: MetricsExportQueryParamProductBillingTypeFilter): string;
/** @internal */
export type MetricsExportQueryParamCustomerIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const MetricsExportQueryParamCustomerIDFilter$outboundSchema: z.ZodMiniType<MetricsExportQueryParamCustomerIDFilter$Outbound, MetricsExportQueryParamCustomerIDFilter>;
export declare function metricsExportQueryParamCustomerIDFilterToJSON(metricsExportQueryParamCustomerIDFilter: MetricsExportQueryParamCustomerIDFilter): string;
/** @internal */
export type MetricsExportRequest$Outbound = {
    start_date: string;
    end_date: string;
    timezone: string;
    interval: string;
    organization_id?: string | Array<string> | null | undefined;
    product_id?: string | Array<string> | null | undefined;
    billing_type?: string | Array<string> | null | undefined;
    customer_id?: string | Array<string> | null | undefined;
    metrics?: Array<string> | null | undefined;
};
/** @internal */
export declare const MetricsExportRequest$outboundSchema: z.ZodMiniType<MetricsExportRequest$Outbound, MetricsExportRequest>;
export declare function metricsExportRequestToJSON(metricsExportRequest: MetricsExportRequest): string;
//# sourceMappingURL=metricsexport.d.ts.map