/// <reference types="lodash" />
import React from 'react';
import { VizzlyComponents, trackEventCallback } from '../../types';
export declare type Origin = 'dashboard' | 'library';
import { Component, Component as ComponentType } from '../../../../shared-logic/src/Component/types';
import { DataSet as DataSetType } from '../../../../shared-logic/src/DataSet/types';
import { QueryEngineConfig } from '../../../../shared-logic/src/QueryEngineConfig/types';
import { DashboardBehaviour, TextOverride } from '../../contexts/DashboardBehaviour/types';
import { Dashboard } from '../../../../shared-logic/src/Dashboard/types';
import { StudioAction, StudioState } from '../../contexts/DashboardContext/types';
import { SelectableCustomView } from '../../../../shared-logic/src/CustomView/types';
export declare type EditorHookValues = {
    queryEngineConfig: QueryEngineConfig;
    selectedComponent: ComponentType['attributes']['type'];
    dataPanel: DashboardBehaviour['dataPanel'];
    formatPanel: DashboardBehaviour['formatPanel'];
    setDataSet: (_dataSetId: string) => void;
    featureToggles: DashboardBehaviour['featureToggles'];
    dashboard: Dashboard;
    effectiveAxisBounds: VizzlyComponents.EffectiveAxisBounds;
    setDataSets: (_dataSets: DataSetType[]) => void;
    dataSet: DataSetType;
    viewOptions: DashboardBehaviour['onlyViewTypes'];
    onSelectViewType: (_viewType: ComponentType['attributes']['type'], _params?: {
        customView?: SelectableCustomView;
    }) => void;
    numberFormatOptions: DashboardBehaviour['numberFormatOptions'];
    setAttributes: (_attributes: ComponentType.Attributes) => void;
    setLocalFilters: (_localFilters: Component['localFilters']) => void;
    setPartialAttributes: (_attributes: Partial<ComponentType.Attributes>) => void;
    mode: 'endUser' | 'admin';
    origin: Origin;
    componentEditor: StudioState['componentEditor'];
    component: Component;
    trackEvent: trackEventCallback;
    runQueriesCallback: VizzlyComponents.runQueriesCallbackInternal;
    dispatch: React.Dispatch<StudioAction>;
    textOverride: TextOverride;
};
declare type AxisSemanticKey = 'x' | 'y' | 'yDual';
export declare function getAxisSemanticSignatures(attributes: ComponentType.Attributes): Partial<Record<AxisSemanticKey, string | null>>;
declare const useEditor: () => EditorHookValues | null;
export default useEditor;
export declare function useInputDebounce(setAttributes: (_attributes: Partial<Component.Attributes>) => void): import("lodash").DebouncedFunc<(newValue: {
    [key: string]: string;
}) => void>;
