import { BaseParamType } from '../_Base'; import { BaseNodeType } from '../../nodes/_Base'; import { ParamType } from '../../poly/ParamType'; import { NodeContext } from '../../poly/NodeContext'; import { ColorConversion } from '../../../core/Color'; import { Boolean2, Number2, PolyDictionary } from '../../../types/GlobalTypes'; export interface NumericParamOptionsMenuEntry { name: string; value: number; } export interface StringParamOptionsMenuEntry { name: string; value: string; } export interface MenuNumericParamOptions { menu?: { entries: NumericParamOptionsMenuEntry[]; }; } export interface MenuStringParamOptions { menu?: { entries: StringParamOptionsMenuEntry[]; }; } export declare enum StringParamLanguage { TYPESCRIPT = "typescript" } export declare enum FileType { TEXTURE = "texture", GEOMETRY = "geometry" } export declare type VisibleIfParamOptions = PolyDictionary; interface BaseParamOptions { cook?: boolean; spare?: boolean; hidden?: boolean; field?: boolean; visibleIf?: VisibleIfParamOptions | VisibleIfParamOptions[]; } interface ExpressionParamOptions { expression?: { forEntities?: boolean; }; } interface NumberParamOptions extends BaseParamOptions { range?: Number2; rangeLocked?: Boolean2; step?: number; } interface FileParamOptions { fileBrowse?: { type: FileType[]; }; } interface ComputeOnDirtyParamOptions { computeOnDirty?: boolean; } interface CallbackParamOptions { callback?: (node: BaseNodeType, param: BaseParamType) => any; callbackString?: string; } interface LabelParamOptions { label?: string; } interface ColorConversionOptions { conversion?: ColorConversion; } export interface BooleanParamOptions extends BaseParamOptions, ComputeOnDirtyParamOptions, MenuNumericParamOptions, ExpressionParamOptions, CallbackParamOptions { } export interface ButtonParamOptions extends BaseParamOptions, CallbackParamOptions, LabelParamOptions { } export interface ColorParamOptions extends BaseParamOptions, ColorConversionOptions, ExpressionParamOptions, CallbackParamOptions, ComputeOnDirtyParamOptions { } export interface FloatParamOptions extends NumberParamOptions, MenuNumericParamOptions, ComputeOnDirtyParamOptions, ExpressionParamOptions, CallbackParamOptions { } export interface FolderParamOptions extends BaseParamOptions { level?: number; } export interface IntegerParamOptions extends NumberParamOptions, MenuNumericParamOptions, CallbackParamOptions { } export interface OperatorPathParamOptions extends BaseParamOptions, FileParamOptions, ComputeOnDirtyParamOptions, CallbackParamOptions { nodeSelection?: { context?: NodeContext; types?: Readonly; }; dependentOnFoundNode?: boolean; paramSelection?: ParamType | boolean; } export interface RampParamOptions extends BaseParamOptions { } export interface SeparatorParamOptions extends BaseParamOptions { } export interface StringParamOptions extends BaseParamOptions, FileParamOptions, CallbackParamOptions, ExpressionParamOptions { multiline?: boolean; language?: StringParamLanguage; } interface VectorParamOptions extends BaseParamOptions, ExpressionParamOptions, CallbackParamOptions, ComputeOnDirtyParamOptions { } export interface Vector2ParamOptions extends VectorParamOptions { } export interface Vector3ParamOptions extends VectorParamOptions { } export interface Vector4ParamOptions extends VectorParamOptions { } export interface ParamOptions extends NumberParamOptions, ColorConversionOptions, ComputeOnDirtyParamOptions, FolderParamOptions, ExpressionParamOptions, ButtonParamOptions, FileParamOptions, MenuNumericParamOptions, StringParamOptions, OperatorPathParamOptions { texture?: { env?: boolean; }; } export declare class OptionsController { private _param; private _programatic_visible_state; private _options; private _default_options; constructor(_param: BaseParamType); dispose(): void; set(options: ParamOptions): void; copy(options_controller: OptionsController): void; set_option(name: K, value: ParamOptions[K]): void; private post_set_options; param(): BaseParamType; node(): BaseNodeType; default(): ParamOptions; current(): ParamOptions; has_options_overridden(): boolean; overridden_options(): ParamOptions; overridden_option_names(): Array; computeOnDirty(): boolean; private _computeOnDirty_callback_added; private _handle_computeOnDirty; private _compute_param; has_callback(): boolean; private _callbackAllowed; allowCallback(): void; execute_callback(): void; private get_callback; private create_callback_from_string; color_conversion(): ColorConversion | undefined; makes_node_dirty_when_dirty(): boolean; file_browse_option(): { type: FileType[]; } | undefined; file_browse_allowed(): boolean; file_browse_type(): FileType[] | null; is_expression_for_entities(): boolean; level(): number; has_menu(): boolean; private menu_options; menu_entries(): NumericParamOptionsMenuEntry[]; has_menu_radio(): boolean; is_multiline(): boolean; language(): StringParamLanguage | undefined; is_code(): boolean; node_selection_options(): { context?: NodeContext | undefined; types?: readonly string[] | undefined; } | undefined; node_selection_context(): NodeContext | undefined; node_selection_types(): readonly string[] | undefined; dependent_on_found_node(): boolean | undefined; is_selecting_param(): boolean; param_selection_options(): boolean | ParamType | undefined; param_selection_type(): ParamType | undefined; range(): Number2; step(): number | undefined; private range_locked; ensure_in_range(value: number): number; is_spare(): boolean; texture_options(): { env?: boolean | undefined; } | undefined; texture_as_env(): boolean; is_hidden(): boolean; is_visible(): boolean; set_visible_state(state: boolean): void; label(): string | undefined; is_label_hidden(): boolean; is_field_hidden(): boolean; ui_data_depends_on_other_params(): boolean; visibility_predecessors(): BaseParamType[]; private _update_visibility_and_remove_dirty_bound; private _visibility_graph_node; private _ui_data_dependency_set; set_ui_data_dependency(): void; private update_visibility_and_remove_dirty; update_visibility(): Promise; } export {};