import { ExoDecor } from '../../../ExoTypeScripts/ExoDecor'; import { ExoConstructor, ExoSelects, ExoTyping } from '../../../accessories/ExoTypings'; import { ExoGetter, ExoValidator } from '../../accessories/ExoRouteTypings'; import { ExoParamInfo } from './accessories/ExoParamInfo'; type Typer = Type | (() => Type); type Type = ExoConstructor | ExoSelects; export interface ExoParamOpts { optional?: boolean; bunnysecure?: boolean; compress?: boolean; maxlen?: number; getter?: ExoGetter; validator?: ExoValidator; } export declare function ExoParam(): ExoDecor; export declare function ExoParam(opts: ExoParamOpts): ExoDecor; export declare function ExoParam(typer: Typer): ExoDecor; export declare function ExoParam(typer: Typer, opts: ExoParamOpts): ExoDecor; export declare class ExoParamField { name: string; type: ExoTyping; optional: boolean; selects?: ExoSelects; compress?: boolean; maxlen?: number; bunnysecure: boolean; getter: ExoGetter; validator: ExoValidator | null; constructor(name: string, type: ExoConstructor, selects?: ExoSelects, opts?: ExoParamOpts); parse(reqroute: string[], route: string[], dev: boolean): { value: any; raw: string | number | boolean | void; }; private getStrval; private getRaw; private getValue; private throw; get info(): ExoParamInfo; } export {};