import { Dictionary } from "powerseq/common/types"; export interface Type { typeName?: string; properties: Property[]; extends?: string[]; } export interface Property { propertyName: string; types: PropertyType[]; } export declare type PropertyType = NamePropertyType | ValuePropertyType | TypePropertyType; export interface PropertyTypeBase { isArray?: boolean; } export interface NamePropertyType extends PropertyTypeBase { typeKind: "name"; typeName: string; } export interface ValuePropertyType extends PropertyTypeBase { typeKind: "value"; typeValue: string[]; } export interface TypePropertyType extends PropertyTypeBase { typeKind: "type"; typeType: Type; } export interface ExtractOptions { depth?: number; skipPaths?: string[]; } export declare function extractSchema(obj: any, options?: ExtractOptions): Property[]; export declare function setDefaultExtractOptions(options: ExtractOptions): ExtractOptions; export declare function simplifySchemaStructure(schema: Property[]): Dictionary;