import { AnyClass } from 'tn-typescript';
import { ExoTime } from '../accessories/ExoTime';
import { ExoGraphGuards } from './ExoGraphGuards/ExoGraphGuards';
import { ExoGraphMiddleware } from './accessories/ExoGraphMiddleware';
import { ExoGraphServe } from './accessories/ExoGraphServe';
import { ExoGraphCache } from './ExoGraphCache/ExoGraphCache';
type GetClass = (() => A) | null;
export declare class ExoGraph {
guards: ExoGraphGuards;
cache: ExoGraphCache;
constructor(args?: A | string | GetClass);
private getName;
query(): this;
mutation(): this;
dev(): this;
timeout(time: ExoTime): this;
use(middleware: ExoGraphMiddleware): this;
serve(ret: R, serve: ExoGraphServe, R>): this;
private methodFunc;
private get DecorMethod();
private DecorMiddlewares;
private timeoutMiddleware;
private graphMiddlewares;
}
export {};