/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { ExtendedBounds } from './ExtendedBounds';
/**
 * A <a href="https://docs.opensearch.org/latest/aggregations/bucket/date-histogram/"><code>date_histogram</code></a> bucket aggregation over a date column. Must specify <code>extended_bounds</code> or <code>hard_bounds</code> so the bucket count is bounded.
 * @export
 * @interface DateHistogramAggregation
 */
export interface DateHistogramAggregation {
    /**
     * Optional. Whether to return buckets as a keyed object rather than an array.
     * @type {boolean}
     * @memberof DateHistogramAggregation
     */
    keyed?: boolean;
    /**
     *
     * @type {ExtendedBounds}
     * @memberof DateHistogramAggregation
     */
    extended_bounds?: ExtendedBounds;
    /**
     *
     * @type {ExtendedBounds}
     * @memberof DateHistogramAggregation
     */
    hard_bounds?: ExtendedBounds;
    /**
     * Required. The date column to bucket.
     * @type {string}
     * @memberof DateHistogramAggregation
     */
    field?: string;
    /**
     * Optional. Calendar-aware interval (e.g. <code>month</code>, <code>year</code>). Mutually exclusive with <code>fixed_interval</code>.
     * @type {string}
     * @memberof DateHistogramAggregation
     */
    calendar_interval?: string;
    /**
     * Optional. Fixed-duration interval (e.g. <code>30d</code>, <code>12h</code>). Mutually exclusive with <code>calendar_interval</code>.
     * @type {string}
     * @memberof DateHistogramAggregation
     */
    fixed_interval?: string;
    /**
     * Optional. Legacy interval (use <code>calendar_interval</code> / <code>fixed_interval</code> instead).
     * @type {string}
     * @memberof DateHistogramAggregation
     */
    interval?: string;
    /**
     * Optional. Minimum document count for a bucket to be returned.
     * @type {number}
     * @memberof DateHistogramAggregation
     */
    min_doc_count?: number;
    /**
     * Optional. Shifts bucket boundaries by this duration.
     * @type {string}
     * @memberof DateHistogramAggregation
     */
    offset?: string;
    /**
     * Optional. UTC offset or IANA zone used to compute bucket boundaries.
     * @type {string}
     * @memberof DateHistogramAggregation
     */
    time_zone?: string;
    /**
     * Optional. Bucket sort order &mdash; a <code>{metric: "asc|desc"}</code> object or an array of them.
     * @type {any}
     * @memberof DateHistogramAggregation
     */
    order?: any | null;
    /**
     * Optional. Bucket value assigned to documents missing <code>field</code>.
     * @type {any}
     * @memberof DateHistogramAggregation
     */
    missing?: any | null;
    /**
     * Optional. Date format applied to the bucket key in the response.
     * @type {string}
     * @memberof DateHistogramAggregation
     */
    format?: string;
}
/**
 * Check if a given object implements the DateHistogramAggregation interface.
 */
export declare function instanceOfDateHistogramAggregation(value: object): value is DateHistogramAggregation;
export declare function DateHistogramAggregationFromJSON(json: any): DateHistogramAggregation;
export declare function DateHistogramAggregationFromJSONTyped(json: any, ignoreDiscriminator: boolean): DateHistogramAggregation;
export declare function DateHistogramAggregationToJSON(json: any): DateHistogramAggregation;
export declare function DateHistogramAggregationToJSONTyped(value?: DateHistogramAggregation | null, ignoreDiscriminator?: boolean): any;
