import { List } from 'immutable'; import { Instance } from 'immutable-class'; import { Expression, SortAction } from 'swiv-plywood'; import { Dimension } from '../dimension/dimension'; import { Measure } from '../measure/measure'; import { Filter } from '../filter/filter'; import { SplitCombine, SplitCombineJS, SplitCombineContext } from '../split-combine/split-combine'; export declare type SplitsValue = List; export declare type SplitsJS = SplitCombineJS | SplitCombineJS[]; export declare type SplitContext = SplitCombineContext; export declare class Splits implements Instance { static EMPTY: Splits; static isSplits(candidate: any): candidate is Splits; static fromSplitCombine(splitCombine: SplitCombine): Splits; static fromJS(parameters: SplitsJS, context?: SplitContext): Splits; splitCombines: List; constructor(parameters: SplitsValue); valueOf(): SplitsValue; toJS(): SplitsJS; toJSON(): SplitsJS; toString(): string; equals(other: Splits): boolean; replaceByIndex(index: number, replace: SplitCombine): Splits; insertByIndex(index: number, insert: SplitCombine): Splits; addSplit(split: SplitCombine): Splits; removeSplit(split: SplitCombine): Splits; changeSortAction(sort: SortAction): Splits; changeSortActionFromNormalized(sort: SortAction, dimensions: List): Splits; getTitle(dimensions: List): string; length(): number; forEach(sideEffect: (value?: SplitCombine, key?: number, iter?: List) => any, context?: any): number; get(index: number): SplitCombine; first(): SplitCombine; last(): SplitCombine; findSplitForDimension(dimension: Dimension): SplitCombine; hasSplitOn(dimension: Dimension): boolean; replace(search: SplitCombine, replace: SplitCombine): Splits; map(mapper: (value?: SplitCombine, key?: number) => SplitCombine, context?: any): Splits; toArray(): SplitCombine[]; removeBucketingFrom(expressions: Expression[]): Splits; updateWithFilter(filter: Filter, dimensions: List): Splits; constrainToDimensionsAndMeasures(dimensions: List, measures: List): Splits; timezoneDependant(): boolean; changeSortIfOnMeasure(fromMeasure: string, toMeasure: string): Splits; getCommonSort(dimensions: List): SortAction; }