import { Generatable, SMap, Preparable, ResourceError } from "./general"; import { stackPreparable } from "./stackBackend"; import { pathItem, namedPath } from "./path"; import { Field } from "./field"; import { Resource } from "./generatables/resource"; /** returns an object with all [toJson] replacers called */ export declare function applyToJson(obj: any): any; export declare function prepareQueueBase(stack: stackPreparable, path: pathItem, ref: boolean, res: Generatable | Generatable & namedPath): boolean; export declare function cleanTextForIdentifier(s: string): string; export declare const generateUniqueIdentifier: ((path: pathItem) => string) & import("lodash").MemoizedFunction; export declare function findInPath(path: pathItem, objects: T): findInPath.out; declare namespace findInPath { type tType = SMap Preparable>; type out = { [K in keyof T]?: { depth: number; obj: T[K] extends new (...args: any[]) => infer P ? P : never; }; }; } export declare function callOn(container: any, instanceOf: abstract new (...args: any[]) => T, iter: (obj: T) => U): U[]; export declare function callOnPrepareQueue(container: any, stack: stackPreparable, path: pathItem, ref: boolean): void[]; export declare function callOnCheckValid(container: any, out: SMap): SMap; export declare function notEmpty(t: T): T | undefined; export type Ref = T | Field; export declare namespace Ref { function get(ref: Ref): Field | import("./fields/referenceField").ReferenceField; } export type Attr = T extends string ? (Resource & { a: { [k in T]: Field; }; } | Field) : (T | Field); export declare namespace Attr { function get(cont: Attr, attr: T): Field; } export declare function thrw(err: Error): never; export {};