import { AnyClass, ObjectOf } from 'tn-typescript'; import { ExoDecor } from '../ExoTypeScripts/ExoDecor'; import { ExoGeoClass, ExoGeoType } from '../accessories/ExoGeo'; import { ExoConstructor, ExoSelects, ExoTyping } from '../accessories/ExoTypings'; type Typer = SingleType | [SingleType] | (() => SingleType | SingleType[]); type SingleType = ExoConstructor | AnyClass | ExoSelects | ExoGeoClass; type Explicit = () => SingleType | [SingleType] | ExoGeoType | undefined; export type ExoResultTypeNest = { clsname: string; clss: ObjectOf; }; export type ExoResultTypeSingle = ExoResultTypeNest | ExoTyping | ExoGeoType | 'Date'; export type ExoResultTypeArr = ExoResultTypeSingle | [ExoResultTypeSingle]; export type ExoResultOpts = { optional?: boolean; }; export declare function ExoResult(): ExoDecor; export declare function ExoResult(opts: ExoResultOpts): ExoDecor; export declare function ExoResult(typer: Typer): ExoDecor; export declare function ExoResult(typer: Typer, opts: ExoResultOpts): ExoDecor; export declare class ExoResultClass { clsid: string; name: string; optional: boolean; private explicit; private design; trace: string[]; constructor(name: string, design: any, explicit: Explicit, trce: string[], opts?: ExoResultOpts); private getRawType; private getMainType; private getResultType; private $type?; get type(): ExoResultTypeArr; private $selects?; get selects(): readonly string[] | readonly number[] | undefined; } export {};