import { FreeTextProps } from '../FreeText';
import type { AnalysisBarProps } from '../AnalysisBar';
import type { PresentationElementSize, PresentationSymbol } from '../presentations.types';
import { StatisticProps } from '../Statistic';
export interface ToggleControlSpec {
    componentType: 'toggle';
    title: string;
    size?: PresentationElementSize;
    symbol?: PresentationSymbol;
    color?: string;
    checked: boolean;
    tooltip?: (StatisticProps | FreeTextProps)[];
    content?: StatisticProps[];
    bar?: AnalysisBarProps;
}
interface PixelAnnotationSpec {
    name: string;
    dimension?: string;
    dimensions?: string[];
}
interface CellAnnotationSpec {
    name: string;
}
interface GridAnnotationSpec {
    name: string;
}
interface CutOffLabelProps {
    color: string;
    labelIndex: number;
}
interface TargetSpec {
    visualizationType: string;
    annotationId?: string;
    annotation: PixelAnnotationSpec | CellAnnotationSpec | GridAnnotationSpec | string;
    label?: string;
    labelId?: string;
    labels?: (string | CutOffLabelProps)[];
    color?: string;
    colors?: string[];
}
export interface ToggleControlProps extends ToggleControlSpec {
    isParent?: boolean;
    isDimmed?: boolean;
    disabled?: boolean;
    target?: TargetSpec;
    isMaster?: boolean;
    onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
}
export {};
