import { TypeHint } from './Types';
import { SuspendableObject } from './SuspendableObject';
export declare const ROW_SUMMARY_ROW_ID = "__ROW_SUMMARY_ROW_ID";
export declare const WEIGHTED_AVERAGE_AGGREGATED_FUNCTION = "WEIGHTED_AVERAGE";
export declare const summarySupportedExpressions: readonly ["MIN", "MAX", "SUM", "AVG", "COUNT", "MEDIAN", "MODE", "DISTINCT", "ONLY", "STD_DEVIATION", "WEIGHTED_AVERAGE"];
export type SystemSummarySupportedExpression = (typeof summarySupportedExpressions)[number];
export type SummarySupportedExpression = TypeHint<string, SystemSummarySupportedExpression>;
/**
 * Position of Row Summary - 'Top' or 'Bottom'
 */
export type RowSummaryPosition = 'Top' | 'Bottom';
/**
 * Defines a Row Summary used in a Layout
 */
export interface RowSummary extends SuspendableObject {
    /**
     * Where Row Summary appears - 'Top' or 'Bottom'
     */
    Position?: RowSummaryPosition;
    /**
     * Map of Columns with Summary Expressions
     */
    ColumnsMap: Record<string, SummarySupportedExpression>;
    /**
     * Evaluates only currently filtered rows in the summary
     * @defaultValue true
     */
    IncludeOnlyFilteredRows?: boolean;
}
