import { Resource } from "../generatables/resource"; import { SMap, ResourceError, Generatable } from "../general"; import { stackPreparable } from "../stackBackend"; import { resourceIdentifier, checkValid, generateObject, prepareQueue, getName } from "../symbols"; import { CustomBlock } from "./block"; import { Parent } from "./parent"; import { AttributeField } from "../fields/attributeField"; import { pathItem } from "../path"; export declare const Custom: SMap CustomResource>> & { B: new () => CustomBlock; P: typeof Parent; } & (new (obj: any) => CustomBase); export declare class customResource extends Resource { readonly [resourceIdentifier]: string; private _; private handler; private proxy; r: any; a: SMap; constructor(area: string, name: string); [checkValid](): SMap; [prepareQueue](stack: stackPreparable, path: pathItem, ref: boolean): void; [generateObject](): { Type: string; Properties: any; }; } export declare class CustomBase extends Resource { private obj; readonly [resourceIdentifier]: string; r: any; a: SMap; constructor(obj: any); [generateObject](): any; [checkValid](): SMap; [prepareQueue](stack: stackPreparable, path: pathItem, ref: boolean): void; [getName](): string; } export interface CustomParameters { [k: string]: CustomPropFunction; } export type CustomResource = customResource & CustomParameters; export interface CustomPropFunction { /** * @param val the value of the function */ (val: val): This; (id: string, SubResource: val): This; } export declare namespace CustomPropFunction { function create(name: string, container: object, This: This): CustomPropFunction; }