import { stackPreparable } from "./stackBackend"; import { checkCache, stacktrace, resourceIdentifier, checkValid, prepareQueue, generateObject, s_path, s_isAliased } from "./symbols"; import { pathable, pathItem } from "./path"; export interface SMap { [k: string]: T; } export interface ResourceError { type: string; errors: string[]; } export declare abstract class Preparable implements pathable { [stacktrace]: string; [s_path]: pathItem; protected [checkCache]: SMap; abstract [resourceIdentifier]: string; constructor(errorDepth: any); abstract [checkValid](): SMap; abstract [prepareQueue](stack: stackPreparable, path: pathItem, ref: boolean): void; } export declare abstract class Generatable extends Preparable { abstract [generateObject](): any; } export declare class PreparableError extends Error { constructor(prep: Preparable, ...errors: [string, ...string[]]); constructor(stack: string, identifier: string, ...errors: string[]); } export interface Aliasable { readonly [s_isAliased]: boolean; }