import { type App, type Ref } from 'vue'; import type { ActMaster } from '../../act-master'; import type { ActGenerated, ActMasterAction } from '../../types'; type IsFn = T extends (...args: any) => any ? T : never; type UnPromise = T extends Promise ? U : T; type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; type Fn = (...args: any) => any; type SubFnFromAct = LS extends (infer A)[] ? UnionToIntersection> : never; export type RefFuncFromAct = T extends { readonly name: infer N; readonly exec: infer F; } ? (name: N) => Ref>>> : never; type _SubFnFromAct = K extends keyof ActGenerated ? ActGenerated[K] : never; export type RefSubscriptionFunction = SubFnFromAct<_SubFnFromAct>; export declare function refSubscribeFactory(amContainer: { actMaster: ActMaster | null; app: App; }): RefSubscriptionFunction; export declare function autoUnsubscribeFactory(amContainer: { actMaster: ActMaster | null; app: App; }): (key?: string) => void; export {};