import { Util, Collection } from "../"; /** Fundamental aggregation types. */ export declare type CountAggregationType = "count" | "count_values" | "unique" | "empty" | "not_empty"; export declare type PercentAggregationType = "percent_empty" | "percent_not_empty"; export declare type CheckboxSpecificAggregationType = "checked" | "unchecked" | "percent_checked" | "percent_unchecked"; export declare type DateSpecificAggregationType = "earliest_date" | "latest_date" | "date_range"; export declare type NumberSpecificAggregationType = "sum" | "average" | "median" | "min" | "max" | "range"; /** Abstracted structure aggregation types. */ export declare type GeneralAggregationType = CountAggregationType | PercentAggregationType; export declare type TitleAggregationType = GeneralAggregationType; export declare type TextAggregationType = GeneralAggregationType; export declare type NumberAggregationType = GeneralAggregationType | NumberSpecificAggregationType; export declare type SelectAggregationType = GeneralAggregationType; export declare type MultiSelectAggregationType = GeneralAggregationType; export declare type DateAggregationType = GeneralAggregationType | DateSpecificAggregationType; export declare type PersonAggregationType = GeneralAggregationType; export declare type FileAggregationType = GeneralAggregationType; export declare type CheckboxAggregationType = "count" | CheckboxSpecificAggregationType; export declare type URLAggregationType = GeneralAggregationType; export declare type EmailAggregationType = GeneralAggregationType; export declare type PhoneAggregationType = GeneralAggregationType; export declare type CreatedEditedTimeAggregationType = DateAggregationType; export declare type CreatedEditedByAggregationType = GeneralAggregationType; /** AggregationType union. */ export declare type AggregationType = TitleAggregationType | TextAggregationType | NumberAggregationType | SelectAggregationType | MultiSelectAggregationType | DateAggregationType | PersonAggregationType | FileAggregationType | CheckboxAggregationType | URLAggregationType | EmailAggregationType | PhoneAggregationType | CreatedEditedTimeAggregationType | CreatedEditedByAggregationType; export interface Aggregate { property: Collection.ColumnID; type: Collection.ColumnPropertyType; aggregation_type: AggregationType; /** * When `aggregation_type` is "count", `id` is "count". * * Otherwise, `id` is an Util.UUID string. */ id: "count" | Util.UUID; /** Aggregate is useless on other types of views. */ view_type: "table" | "board"; } /** * @remarks * Experimental. Do not use. */ export interface Aggregate2 { property: Collection.ColumnID; aggregator: AggregationType; } //# sourceMappingURL=aggregate.d.ts.map