UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

36 lines (35 loc) 2.94 kB
import type { ConfigSlotDefinition } from './configurationSlot'; import type { AnyConfigurationSchemaType } from './types'; import type { IAnyType } from 'mobx-state-tree'; export type { AnyConfigurationModel, AnyConfigurationSchemaType, AnyConfigurationSlot, AnyConfigurationSlotType, } from './types'; export interface ConfigurationSchemaDefinition { [n: string]: ConfigSlotDefinition | ConfigurationSchemaDefinition | string | number | IAnyType; } export interface ConfigurationSchemaOptions<BASE_SCHEMA extends AnyConfigurationSchemaType | undefined, EXPLICIT_IDENTIFIER extends string | undefined> { explicitlyTyped?: boolean; explicitIdentifier?: EXPLICIT_IDENTIFIER; implicitIdentifier?: string | boolean; baseConfiguration?: BASE_SCHEMA; actions?: (self: unknown) => any; views?: (self: unknown) => any; extend?: (self: unknown) => any; preProcessSnapshot?: (snapshot: Record<string, unknown>) => Record<string, unknown>; } declare function makeConfigurationSchemaModel<DEFINITION extends ConfigurationSchemaDefinition, OPTIONS extends ConfigurationSchemaOptions<any, any>>(modelName: string, schemaDefinition: DEFINITION, options: OPTIONS): import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<Record<string, any>, { setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({ [x: string]: any; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({ [x: string]: any; } & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>); } & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>); }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>; export interface ConfigurationSchemaType<DEFINITION extends ConfigurationSchemaDefinition, OPTIONS extends ConfigurationSchemaOptions<any, any>> extends ReturnType<typeof makeConfigurationSchemaModel<DEFINITION, OPTIONS>> { isJBrowseConfigurationSchema: boolean; jbrowseSchemaDefinition: DEFINITION; jbrowseSchemaOptions: OPTIONS; type: string; [key: string]: unknown; } export declare function ConfigurationSchema<DEFINITION extends ConfigurationSchemaDefinition, OPTIONS extends ConfigurationSchemaOptions<BASE_SCHEMA, EXPLICIT_IDENTIFIER>, BASE_SCHEMA extends AnyConfigurationSchemaType | undefined = undefined, EXPLICIT_IDENTIFIER extends string | undefined = undefined>(modelName: string, inputSchemaDefinition: DEFINITION, inputOptions?: ConfigurationSchemaOptions<BASE_SCHEMA, EXPLICIT_IDENTIFIER>): ConfigurationSchemaType<DEFINITION, OPTIONS>; export declare function ConfigurationReference<SCHEMATYPE extends AnyConfigurationSchemaType>(schemaType: SCHEMATYPE): SCHEMATYPE;