import type { Component, VNode } from 'vue'; import type { OmitNever } from 'zova'; import type { IOnionOptionsEnable, ServiceOnion } from 'zova-module-a-bean'; import 'vue'; import 'vue/jsx-runtime'; import '@vue/runtime-dom'; export type NextBehavior = (props?: PROPS_OUTPUT) => VNode; export interface IBehaviorTag { component: string | Component; name?: string; } export type IBehaviorItem = { [prop in keyof IBehaviorRecord]?: Partial; }; export type IBehaviors = keyof IBehaviorRecord | IBehaviorItem | (keyof IBehaviorRecord | IBehaviorItem)[]; export interface IBehaviorRecord { } export interface IDecoratorBehaviorOptions extends IOnionOptionsEnable { } export type TypeBehaviorRecordSelector = { [K in keyof IBehaviorRecord as K extends `${string}:${PREFIX}${string}` ? K : never]: IBehaviorRecord[K]; }; export type TypeBehaviorRecordSelectorKeys = keyof TypeBehaviorRecordSelector; export type TypeBehaviorRecordSelectorStrict = { [K in keyof IBehaviorRecord as K extends `${string}:${PREFIX}` ? K : never]: IBehaviorRecord[K]; }; export type TypeBehaviorRecordSelectorKeysStrict = keyof TypeBehaviorRecordSelectorStrict; declare module 'zova-module-a-bean' { interface SysOnion { behavior: ServiceOnion; } } declare module 'zova' { interface ConfigOnions { behavior: OmitNever; } interface IBeanSceneRecord { behavior: never; } interface ILoggerChildRecord { behavior: never; } } declare module 'vue' { interface InputHTMLAttributes { behaviors?: IBehaviors; } } declare module 'vue/jsx-runtime' { namespace JSX { interface IntrinsicAttributes { bs_all?: IBehaviors; } } } declare module '@vue/runtime-dom' { interface HTMLAttributes { bs_all?: IBehaviors; } } //# sourceMappingURL=behavior.d.ts.map