import type { Namekey, Refkey } from "@alloy-js/core"; import { type Children } from "@alloy-js/core"; import type { CallSignatureProps } from "./CallSignature.jsx"; import { FunctionTypeParameters, TypeParameters } from "./FunctionBase.jsx"; /** Props for {@link (InterfaceMethod:namespace)} component */ export interface InterfaceMethodProps extends CallSignatureProps { /** Interface member name */ readonly name: string | Namekey; /** If the method is async. It will change the returnType from `T` to `Promise` */ readonly async?: boolean; /** Documentation for this method. */ readonly doc?: Children; /** Jsx content */ readonly children?: Children; /** Ref key for the member declaration */ readonly refkey?: Refkey | Refkey[]; } /** * An interface method declaration. * * @example * ```ts * (foo: string, bar: number) => void * ``` * * @remarks * * Providing parameters and type parameters can be accomplished in one of three * ways: * * 1. As an array of {@link TypeParameterDescriptor}s or * {@link TypeParameterDescriptor}s. * 2. As raw content via the `parametersChildren` or `typeParametersChildren` * props. * 3. As a child of this component via the * {@link (InterfaceMethod:namespace).Parameters} or * {@link (InterfaceMethod:namespace).TypeParameters} components. */ export declare function InterfaceMethod(props: InterfaceMethodProps): Children; export declare namespace InterfaceMethod { export { TypeParameters }; export { FunctionTypeParameters as Parameters }; } //# sourceMappingURL=InterfaceMethod.d.ts.map