/**
 * @module viw-webgl-react
 */
import * as VIM from '../../core-viewers/webgl/index';
import { ComponentSettings, PartialComponentSettings } from './settings';
export type SettingsState = {
    value: ComponentSettings;
    update: (updater: (s: ComponentSettings) => void) => void;
    register: (action: (s: ComponentSettings) => void) => void;
};
/**
 * Returns a new state closure for settings.
 */
export declare function useSettings(viewer: VIM.Viewer, value: PartialComponentSettings): SettingsState;
/**
 * Apply given vim component settings to the given viewer.
 */
export declare function applySettings(viewer: VIM.Viewer, settings: ComponentSettings): void;
