import { JSONValue } from '@phosphor/coreutils'; import { IJSONSchema } from '../json-schema'; import { PreferenceScope } from './preference-scope'; export interface PreferenceSchema { [name: string]: any; scope?: 'application' | 'window' | 'resource' | PreferenceScope; overridable?: boolean; properties: PreferenceSchemaProperties; } export declare namespace PreferenceSchema { function is(obj: unknown): obj is PreferenceSchema; function getDefaultScope(schema: PreferenceSchema): PreferenceScope; } export interface PreferenceSchemaProperties { [name: string]: PreferenceSchemaProperty; } export declare namespace PreferenceSchemaProperties { function is(obj: unknown): obj is PreferenceSchemaProperties; } export interface PreferenceDataSchema { [name: string]: any; scope?: PreferenceScope; properties: { [name: string]: PreferenceDataProperty; }; patternProperties: { [name: string]: PreferenceDataProperty; }; } export interface PreferenceItem extends IJSONSchema { /** * preference default value, if `undefined` then `default` */ defaultValue?: JSONValue; overridable?: boolean; included?: boolean; [key: string]: any; } export interface PreferenceSchemaProperty extends PreferenceItem { description?: string; markdownDescription?: string; scope?: 'application' | 'machine' | 'window' | 'resource' | 'language-overridable' | 'machine-overridable' | PreferenceScope; } export interface PreferenceDataProperty extends PreferenceItem { description?: string; markdownDescription?: string; scope?: PreferenceScope; typeDetails?: any; } export declare namespace PreferenceDataProperty { function fromPreferenceSchemaProperty(schemaProps: PreferenceSchemaProperty, defaultScope?: PreferenceScope): PreferenceDataProperty; } //# sourceMappingURL=preference-schema.d.ts.map