import { DataType, TypeIsObject } from './contants/TypeIs'; import { ValueObject } from './lib/dto'; import { ReplicationOptions } from 'sequelize/types/lib/sequelize'; export declare type AsyncFunction = (args: A) => Promise; export interface PageData { path: string; method: string; data?: { tags?: string[]; summary?: string; security?: any; description?: string; operationId?: string; consumes?: string[]; parameters: any; resultKey?: string; requestBody?: any; }; } export interface ServerOption { port: number; prefix?: string; auth: AuthOption; rawUris?: string[]; database: DatabaseOption; swagger: SwaggerOption; socket?: SocketOption; listener?: () => void; } export interface AuthOption { jwt_secret: string; jwt_expiration: number; handler: () => AsyncFunction; } export interface SocketOption { adapter?: unknown; listener?: (socket: unknown) => void; } export interface SwaggerOption { name: string; version: string; description: string; scheme: 'http' | 'https'; host: string; auth?: string; } export interface DatabaseOption { debug?: boolean; dialect: 'mysql' | 'postgres' | 'sqlite' | 'mariadb' | 'mssql'; host?: string; port: number; scheme: string; username: string; password?: string; replication?: ReplicationOptions; timezone?: string; securekey?: string; } export interface ControllerOption { tags?: string[]; summary?: string; description?: string; } export declare const parseType: (type: DataType | undefined, args?: unknown[] | undefined) => { isDto?: boolean | undefined; typeIs?: TypeIsObject | undefined; dto?: ValueObject | undefined; };