import { type Owner, type Stability, type Tag } from '@contractspec/lib.contracts/ownership';
import type { PresentationSpec, PresentationTarget } from '@contractspec/lib.contracts/presentations';
/**
 * Options for creating a React component presentation.
 */
export interface CreateComponentPresentationOptions {
    /** Fully-qualified spec key (e.g., "web-landing.home") */
    key: string;
    /** Component key resolved by host componentMap */
    componentKey: string;
    /** Short human-friendly summary */
    description: string;
    /** Business goal: why this exists */
    goal: string;
    /** Background, constraints, scope edges */
    context: string;
    /** Breaking changes => bump version @default '1.0.0' */
    version?: string;
    /** Lifecycle marker @default StabilityEnum.Stable */
    stability?: Stability;
    /** Owners for CODEOWNERS / on-call @default [OwnersEnum.PlatformCore] */
    owners?: Owner[];
    /** Search tags, grouping, docs navigation @default [] */
    tags?: Tag[];
    /** Render targets @default ['react', 'markdown'] */
    targets?: PresentationTarget[];
}
/**
 * Creates a PresentationSpec for a React component with all required metadata.
 *
 * @param opts - Configuration options for the presentation
 * @returns A fully-typed PresentationSpec
 */
export declare function createComponentPresentation(opts: CreateComponentPresentationOptions): PresentationSpec;
/**
 * Helper to derive tags from a URL path.
 * Example: "/docs/libraries/ai-agent" -> ["docs", "libraries", "ai-agent"]
 */
export declare function tagsFromPath(path: string): Tag[];
/**
 * Default goal for documentation pages.
 */
export declare const DOCS_GOAL = "Educate developers on ContractSpec usage and concepts";
/**
 * Default context for documentation pages.
 */
export declare const DOCS_CONTEXT = "Part of the ContractSpec documentation site, rendered on contractspec.io";
/**
 * Default goal for marketing/landing pages.
 */
export declare const MARKETING_GOAL = "Convert visitors into ContractSpec users and customers";
/**
 * Default context for marketing pages.
 */
export declare const MARKETING_CONTEXT = "Marketing content on contractspec.io, designed for conversion";
/**
 * Default tags for documentation pages.
 */
export declare const DOCS_TAGS: Tag[];
//# sourceMappingURL=factory.d.ts.map