import { type Children } from "@alloy-js/core"; import type { ParameterDescriptor } from "../parameter-descriptor.js"; import type { TypeParameterDescriptor } from "../parameter-descriptor.js"; export interface FunctionBodyProps { readonly children?: Children; } /** Props for function parameters */ export interface FunctionParametersProps { /** Parameters */ readonly parameters?: ParameterDescriptor[] | string[]; /** Jsx Children */ readonly children?: Children; } /** Props for a function type(FunctionType or InterfaceMethod) */ export interface FunctionTypeParametersProps { /** Parameters */ readonly parameters?: ParameterDescriptor[] | string[]; /** Jsx Children */ readonly children?: Children; } /** Props for type parameters */ export interface TypeParametersProps { /** Parameters */ parameters?: TypeParameterDescriptor[] | string[]; /** Jsx Children */ children?: Children; } export declare const FunctionBody: import("@alloy-js/core").Component & Required, "tag">>; /** * Represent function parameters(FunctionDeclaration, FunctionExpression, ArrowFunction, etc.) * * @example * ```ts * a: string, b: string = "abc", c?: string, * ``` */ export declare const FunctionParameters: import("@alloy-js/core").Component & Required, "tag">>; /** * Represent parameters for a function type(FunctionType or InterfaceMethod) * This differ from {@link FunctionParameters} in that it doesn't allow default values. * * @example * ```ts * a: string, b?: string * ``` */ export declare const FunctionTypeParameters: import("@alloy-js/core").Component & Required, "tag">>; /** * Represent type parameters * * @example * ```ts * * ``` */ export declare const TypeParameters: import("@alloy-js/core").Component & Required, "tag">>; export declare function getReturnType(returnType: Children | undefined, options?: { async?: boolean; }): Children; //# sourceMappingURL=FunctionBase.d.ts.map