import * as ts from "typescript";
import { Constructor } from "./../../Constructor";
import { Node } from "./../common";
import { DocumentationableNode, ModifierableNode } from "./../base";
import { StatementedNode } from "./../statement";
import { SignaturedDeclaration } from "./SignaturedDeclaration";
export declare type FunctionLikeDeclarationExtensionType = Node<ts.FunctionLikeDeclaration>;
export interface FunctionLikeDeclaration extends DocumentationableNode, SignaturedDeclaration, StatementedNode, ModifierableNode {
}
export declare function FunctionLikeDeclaration<T extends Constructor<FunctionLikeDeclarationExtensionType>>(Base: T): Constructor<FunctionLikeDeclaration> & T;
