import { type DslDefinition, type DslSlots } from '@oinone/kunlun-dsl'; import type { WidgetProps } from '@oinone/kunlun-engine'; import type { Slots, VNode } from 'vue'; import { VueWidget } from '../basic'; /** * dsl渲染组件属性 */ export interface DslRenderWidgetProps extends WidgetProps { /** * 内部组件 */ internal?: boolean; /** * 模板dsl定义 */ template?: DslDefinition; /** * 在父组件中的插槽名 */ slotName?: string; /** * 支持的插槽名称 */ slotNames?: string[]; /** * 插槽上下文 */ slotContext?: Record; } export declare class DslRenderWidget extends VueWidget { protected internal: boolean; protected template: DslDefinition | undefined; protected slotName: string | undefined; protected renderProps: Props | undefined; protected supportedSlotNames: string[]; protected dslSlots: DslSlots | undefined; protected slots: Slots | null | undefined; initialize(props: Props): this; getDsl(): DslDefinition; protected cacheConfigProxy: any; protected getMergeConfig(...keys: string[]): Record; getSlotName(): string | undefined; render(ctx?: Record, slots?: Slots): VNode | VNode[]; protected rawRender(ctx?: Record, slots?: Slots): VNode | VNode[]; protected internalRender(slots?: Slots): Slots | undefined; protected commonRender(slots?: Slots): Slots | undefined; }