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