import { AssistantClient, ClientElement, ClientNames } from "./types/client.js";
import { DerivedElement } from "./Derived.js";
import { ResourceElement } from "@assistant-ui/tap";

//#region src/attachTransformScopes.d.ts
type ScopesConfig = { [K in ClientNames]?: ClientElement<K> | DerivedElement<K> };
type TransformScopesFn = (scopes: ScopesConfig, parent: AssistantClient) => void;
declare function attachTransformScopes<T extends (...args: any[]) => ResourceElement<any>>(resource: T, transform: TransformScopesFn): void;
declare function forwardTransformScopes<T extends (...args: any[]) => ResourceElement<any>, S extends (...args: any[]) => ResourceElement<any>>(target: T, source: S): void;
declare function getTransformScopes<T extends (...args: any[]) => ResourceElement<any>>(resource: T): TransformScopesFn | undefined;
//#endregion
export { ScopesConfig, attachTransformScopes, forwardTransformScopes, getTransformScopes };
//# sourceMappingURL=attachTransformScopes.d.ts.map