import type { Children, Namekey, Refkey } from "@alloy-js/core"; import type { TypeParameterDescriptor } from "../parameter-descriptor.js"; import type { CommonDeclarationProps } from "./Declaration.js"; import { TypeParameters } from "./FunctionBase.jsx"; export interface InterfaceDeclarationProps extends CommonDeclarationProps { extends?: Children; /** * The generic type parameters of the interface. */ typeParameters?: TypeParameterDescriptor[] | string[]; } /** * Create a TypeScript interface declaration. * * @remarks * * This component will declare a symbol for this interface. The `export` and * `default` boolean props determine whether and how this symbol is exported * from the package. */ export declare function InterfaceDeclaration(props: InterfaceDeclarationProps): Children; export declare namespace InterfaceDeclaration { export { TypeParameters }; } export interface InterfaceExpressionProps { children?: Children; } export declare const InterfaceExpression: import("@alloy-js/core").Component; export interface InterfaceMemberPropsBase { type?: Children; children?: Children; readonly?: boolean; doc?: Children; refkey?: Refkey | Refkey[]; } export interface InterfacePropertyMemberProps extends InterfaceMemberPropsBase { name: string | Namekey; optional?: boolean; nullish?: boolean; } export interface InterfaceIndexerMemberProps extends InterfaceMemberPropsBase { indexer: Children; } export type InterfaceMemberProps = InterfacePropertyMemberProps | InterfaceIndexerMemberProps; /** * Create a TypeScript interface member. * * An interface member can either provide a `name` prop to create a named * property, or an `indexer` prop to define an indexer for the interface. * * The type of the member can be provided either as the `type` prop or as the * children of the component. */ export declare function InterfaceMember(props: InterfaceMemberProps): Children; //# sourceMappingURL=Interface.d.ts.map