export interface IModels {
    name: string;
    description: string;
    contentType: string;
    schema: object | any[];
    examples: any[];
    example: object;
}
export interface IDefinitionConfig {
    title: string;
    description: string;
    version?: string;
    models: IModels[];
}
export interface IDefinitionType {
    file: string;
    format: 'yaml' | 'json';
    indent: number;
}
export interface IServerlessFunctionConfig {
    _functionName: string;
    handler: string;
    description?: string;
    environment?: object;
    events?: any[];
}
export interface IOperation {
    tags?: string[];
    summary?: string;
    description?: string;
    externalDocs?: any;
    operationId?: string;
    parameters?: IParameterConfig[];
    requestBody?: any;
    responses?: any;
    callbacks?: any;
    deprecated?: boolean;
    security?: any[];
    servers?: any[];
}
export interface IParameterConfig {
    name: string;
    in: 'path' | 'query' | 'header' | 'cookie';
    description: string;
    required?: boolean;
    schema?: object;
    deprecated?: boolean;
    allowEmptyValue?: boolean;
    style?: 'form' | 'simple';
    explode?: boolean;
    allowReserved?: boolean;
    example?: any;
    examples?: any[];
    content?: Map<string, any>;
}
export interface IDefinition {
    openapi: string;
    info: any;
    servers?: any[];
    paths: any;
    components?: any;
    security?: any[];
    tags?: any[];
    externalDocs: any;
}
export declare type ILog = (...str: string[]) => void;
