import { SegmentModes, SegmentValues, SegmentValue, ModeValues } from './../types'; import { Segment, Mode } from './../enums'; declare type ValuesInput = { readonly [prop in SegmentModes]: ModeValues; }; export declare abstract class BaseContainer { readonly selected: SegmentModes; readonly values: SegmentValues; constructor(d: { selected: SegmentModes; values: Partial>; }); getSelected(): SegmentValue | null; select>(mode: K): this; select(mode: Mode): this | null; setValues(values: Partial>): this; clone(): this; abstract getSegment(): T; protected abstract cloneWith(d: Pick, 'selected' | 'values'>): this; protected abstract createValues(values: Partial>): SegmentValues; } export {};