import type { NameCase } from '@frontmcp/utils'; import { type EntryLineage, type FuncType, type ResourceEntry, type Token, type Type } from '../common'; import type ResourceRegistry from './resource.registry'; export interface ResourceTemplateInterface { execute(uri: string, params: Record, context: any): Promise; } export type ResourceTemplateType = Type> | FuncType>; /** Internal augmented row: instance + provenance + token */ export type IndexedResource = { token: Token; /** Resource entry (ResourceInstance for local, proxy ResourceEntry for remote) */ instance: ResourceEntry; /** base resource name from metadata (unmodified) */ baseName: string; /** URI for static resources */ uri?: string; /** URI template for template resources */ uriTemplate?: string; /** Whether this is a template resource */ isTemplate: boolean; /** lineage & qualified info */ lineage: EntryLineage; ownerKey: string; qualifiedName: string; qualifiedId: string; /** which registry constructed the instance (the "owner" registry) */ source: ResourceRegistry; }; export type ResourceExportOptions = { case?: NameCase; maxLen?: number; prefixChildrenOnConflict?: boolean; prefixSource?: 'provider' | 'owner'; }; export declare const DEFAULT_RESOURCE_EXPORT_OPTS: Required; //# sourceMappingURL=resource.types.d.ts.map