/**
 * Site Generation Contracts
 *
 * These types cover the narrow AI site-generation request/response payloads used
 * during onboarding and generated-site setup.
 *
 * Note: Do NOT use these API types as validation schemas. They describe wire
 * contracts while the owning generation flows validate and normalize inputs.
 */
export type AiGenerateSiteEntityType = "INDIVIDUAL" | "FREELANCER" | "BUSINESS" | "NON_PROFIT" | "EVENT" | "OTHER";
export type AiGenerateSitePrimaryCta = "BOOK" | "CONTACT" | "LEARN_MORE" | "SHOP";
export type AiGenerateSiteRequest = {
    entityName: string;
    entityType: AiGenerateSiteEntityType;
    industry: string;
    description: string;
    primaryCta: AiGenerateSitePrimaryCta;
    logoPath?: string | null;
    logoPalette?: string[] | null;
};
export type AiGenerateSiteResponse = {
    success: true;
    siteId: string;
    pages: Array<{
        id: string;
        slug: string;
        title: string;
    }>;
    redirectUrl: string;
} | {
    success: false;
    siteId: string;
    pages: [];
    error: string;
};
export type SiteInspirationAnalysisListItem = {
    id: string;
    siteId: string;
    status: string;
    createdAt: string;
    inputUrls: string[] | null;
};
export type SiteInspirationAnalysisDetail = {
    id: string;
    siteId: string;
    status: string;
    createdAt: string;
    results: unknown;
    aggregatedConstraints: unknown | null;
    providerName: string | null;
    modelId: string | null;
};
export type ListSiteInspirationAnalysesResponse = {
    items: SiteInspirationAnalysisListItem[];
};
export type GetSiteInspirationAnalysisResponse = {
    analysis: SiteInspirationAnalysisDetail;
};
