/**
 * @module viw-webgl-component
 */
import * as VIM from 'vim-webgl-viewer/';
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;
