import { RVDashboardDataType } from "./ts-sdk/rvDashboardDataType";
import { RVDashboardAggregationType } from "./ts-sdk/rvDashboardAggregationType";
export { RVDashboardDataType } from "./ts-sdk/rvDashboardDataType";
export { RVDashboardAggregationType } from "./ts-sdk/rvDashboardAggregationType";
/**
 * Represents a field in the data model schema.
 * @beta
 */
export interface RVDataModelField {
    /** The name of the field (read-only identifier). */
    name: string;
    /** Display label for the field. */
    label?: string;
    /** Human-readable description of the field. */
    description?: string;
    /** The data type of the field. */
    type: RVDashboardDataType;
    /** Whether week-level grouping is enabled for date fields. */
    weekLevelEnabled?: boolean;
    /** Default aggregation applied to this field. */
    defaultAggregation?: RVDashboardAggregationType;
}
/**
 * Represents a calculated field in the data model.
 * Extends {@link RVDataModelField} with an expression defining the calculation.
 * @beta
 */
export interface RVDataModelCalculatedField extends RVDataModelField {
    /** The expression that defines the calculated field. */
    expression: string;
}
/**
 * Represents a custom measure in the data model.
 * @beta
 */
export interface RVDataModelMeasure {
    /** The name of the measure. */
    name: string;
    /** The expression that defines the measure. */
    expression: string;
    /** Human-readable description of the measure. */
    description?: string;
}
