export declare const COMPONENT_MANIFEST_SCHEMA_VERSION: 1; export type ComponentManifestSchemaVersion = typeof COMPONENT_MANIFEST_SCHEMA_VERSION; export type ComponentKind = "kpc-class" | "vue-define-component"; export type LiteralValue = string | number | boolean | null; export type LiteralKind = "string" | "number" | "boolean" | "null"; /** A single statically discoverable part of a component's public contract. */ export interface ContractMember { required: boolean; type: string; enumValues: LiteralValue[]; /** Present only when every non-undefined top-level constituent is primitive. */ literalKinds?: LiteralKind[]; defaultValue?: string; } /** * False means the published declaration does not fully express that surface. * Consumers must treat missing members as unverifiable, not invalid. */ export interface ContractCoverage { props: boolean; events: boolean; slots: boolean; methods: boolean; models: boolean; exposed: boolean; } export interface ComponentContract { exportName: string; importPath: string; kind: ComponentKind; props: Record; events: Record; slots: Record; methods: Record; models: Record; /** Values made public through defineExpose or DefineComponent's Exposed type. */ exposed: Record; coverage: ContractCoverage; } export interface ManifestSource { /** POSIX path relative to projectRoot. */ packageJson: string; /** POSIX path relative to projectRoot. */ types: string; /** POSIX path relative to projectRoot, when integrity came from a lockfile. */ lockfile?: string; } export interface ComponentManifest { schemaVersion: ComponentManifestSchemaVersion; packageName: string; version: string; integrity?: string; rootExports: string[]; components: Record; source: ManifestSource; /** Omitted by default so repeated extraction produces byte-identical JSON. */ generatedAt?: string; } export interface ExtractComponentManifestOptions { projectRoot: string; packageName: string; /** Opt in to a timestamp without making normal extraction nondeterministic. */ generatedAt?: string; } export interface LockfileIntegrity { integrity: string; lockfilePath: string; } //# sourceMappingURL=types.d.ts.map