import { z } from 'zod';

/**
 * # Marketplace Protocol
 *
 * Defines the core schemas for the plugin marketplace ecosystem, covering:
 * - **Developer Side**: Package publishing, submission, and version releases
 * - **Platform Side**: Marketplace listing, review, approval, and discovery
 *
 * This protocol defines the contract between plugin developers, the marketplace
 * platform, and customers who install plugins.
 *
 * ## Architecture Alignment
 * - **Salesforce AppExchange**: Security review, managed packages, listing profiles
 * - **VS Code Marketplace**: Extension publishing, ratings, verified publishers
 * - **npm Registry**: Package publishing, versioning, scoped packages
 * - **Shopify App Store**: App review process, billing integration, merchant installs
 *
 * ## Developer Publishing Flow
 * ```
 * 1. Develop   → Build plugin locally using ObjectStack CLI
 * 2. Validate  → Run `os plugin validate` (schema + security checks)
 * 3. Build     → Run `os plugin build` (bundle + sign)
 * 4. Submit    → Run `os plugin publish` (submit to marketplace)
 * 5. Review    → Platform conducts automated + manual review
 * 6. Publish   → Approved listing goes live on marketplace
 * ```
 *
 * ## Platform Management Flow
 * ```
 * 1. Receive   → Accept submissions from verified publishers
 * 2. Scan      → Automated security scan and compatibility check
 * 3. Review    → Human review for quality and policy compliance
 * 4. Catalog   → Index in marketplace search catalog
 * 5. Monitor   → Track installs, ratings, issues, and enforce SLAs
 * ```
 */
/**
 * Publisher Verification Status
 */
declare const PublisherVerificationSchema: z.ZodEnum<{
    verified: "verified";
    pending: "pending";
    trusted: "trusted";
    unverified: "unverified";
    partner: "partner";
}>;
/**
 * Publisher Schema
 * Represents a developer or organization that publishes packages.
 */
declare const PublisherSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    type: z.ZodEnum<{
        organization: "organization";
        individual: "individual";
    }>;
    verification: z.ZodDefault<z.ZodEnum<{
        verified: "verified";
        pending: "pending";
        trusted: "trusted";
        unverified: "unverified";
        partner: "partner";
    }>>;
    email: z.ZodOptional<z.ZodString>;
    website: z.ZodOptional<z.ZodString>;
    logoUrl: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    registeredAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Artifact Reference Schema
 *
 * Points to a downloadable package artifact with integrity verification.
 * Used in marketplace listings and install workflows.
 */
declare const ArtifactReferenceSchema: z.ZodObject<{
    url: z.ZodString;
    sha256: z.ZodString;
    size: z.ZodNumber;
    format: z.ZodDefault<z.ZodEnum<{
        tgz: "tgz";
        zip: "zip";
    }>>;
    uploadedAt: z.ZodString;
}, z.core.$strip>;
type ArtifactReference = z.infer<typeof ArtifactReferenceSchema>;
/**
 * Artifact Download Response Schema
 *
 * Response from the artifact download API endpoint.
 * Provides a time-limited download URL with integrity metadata.
 */
declare const ArtifactDownloadResponseSchema: z.ZodObject<{
    downloadUrl: z.ZodString;
    sha256: z.ZodString;
    size: z.ZodNumber;
    format: z.ZodEnum<{
        tgz: "tgz";
        zip: "zip";
    }>;
    expiresAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type ArtifactDownloadResponse = z.infer<typeof ArtifactDownloadResponseSchema>;
/**
 * Marketplace Category
 */
declare const MarketplaceCategorySchema: z.ZodEnum<{
    other: "other";
    automation: "automation";
    security: "security";
    integration: "integration";
    storage: "storage";
    analytics: "analytics";
    ai: "ai";
    crm: "crm";
    erp: "erp";
    hr: "hr";
    finance: "finance";
    project: "project";
    collaboration: "collaboration";
    "developer-tools": "developer-tools";
    "ui-theme": "ui-theme";
}>;
/**
 * Listing Status
 */
declare const ListingStatusSchema: z.ZodEnum<{
    deprecated: "deprecated";
    draft: "draft";
    submitted: "submitted";
    "in-review": "in-review";
    approved: "approved";
    suspended: "suspended";
    published: "published";
    rejected: "rejected";
    unlisted: "unlisted";
}>;
/**
 * Pricing Model
 */
declare const PricingModelSchema: z.ZodEnum<{
    free: "free";
    freemium: "freemium";
    paid: "paid";
    subscription: "subscription";
    "usage-based": "usage-based";
    "contact-sales": "contact-sales";
}>;
/**
 * Marketplace Listing Schema
 *
 * The public-facing profile of a package on the marketplace.
 * Contains marketing information, pricing, and installation metadata.
 */
declare const MarketplaceListingSchema: z.ZodObject<{
    id: z.ZodString;
    packageId: z.ZodString;
    publisherId: z.ZodString;
    status: z.ZodDefault<z.ZodEnum<{
        deprecated: "deprecated";
        draft: "draft";
        submitted: "submitted";
        "in-review": "in-review";
        approved: "approved";
        suspended: "suspended";
        published: "published";
        rejected: "rejected";
        unlisted: "unlisted";
    }>>;
    name: z.ZodString;
    tagline: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    category: z.ZodEnum<{
        other: "other";
        automation: "automation";
        security: "security";
        integration: "integration";
        storage: "storage";
        analytics: "analytics";
        ai: "ai";
        crm: "crm";
        erp: "erp";
        hr: "hr";
        finance: "finance";
        project: "project";
        collaboration: "collaboration";
        "developer-tools": "developer-tools";
        "ui-theme": "ui-theme";
    }>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    iconUrl: z.ZodOptional<z.ZodString>;
    screenshots: z.ZodOptional<z.ZodArray<z.ZodObject<{
        url: z.ZodString;
        caption: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    documentationUrl: z.ZodOptional<z.ZodString>;
    supportUrl: z.ZodOptional<z.ZodString>;
    repositoryUrl: z.ZodOptional<z.ZodString>;
    pricing: z.ZodDefault<z.ZodEnum<{
        free: "free";
        freemium: "freemium";
        paid: "paid";
        subscription: "subscription";
        "usage-based": "usage-based";
        "contact-sales": "contact-sales";
    }>>;
    priceInCents: z.ZodOptional<z.ZodNumber>;
    latestVersion: z.ZodString;
    minPlatformVersion: z.ZodOptional<z.ZodString>;
    versions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        version: z.ZodString;
        releaseDate: z.ZodString;
        releaseNotes: z.ZodOptional<z.ZodString>;
        minPlatformVersion: z.ZodOptional<z.ZodString>;
        deprecated: z.ZodDefault<z.ZodBoolean>;
        artifact: z.ZodOptional<z.ZodObject<{
            url: z.ZodString;
            sha256: z.ZodString;
            size: z.ZodNumber;
            format: z.ZodDefault<z.ZodEnum<{
                tgz: "tgz";
                zip: "zip";
            }>>;
            uploadedAt: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
    stats: z.ZodOptional<z.ZodObject<{
        totalInstalls: z.ZodDefault<z.ZodNumber>;
        activeInstalls: z.ZodDefault<z.ZodNumber>;
        averageRating: z.ZodOptional<z.ZodNumber>;
        totalRatings: z.ZodDefault<z.ZodNumber>;
        totalReviews: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>;
    publishedAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Package Submission Schema
 * A developer's submission of a package version for marketplace review.
 */
declare const PackageSubmissionSchema: z.ZodObject<{
    id: z.ZodString;
    packageId: z.ZodString;
    version: z.ZodString;
    publisherId: z.ZodString;
    status: z.ZodDefault<z.ZodEnum<{
        "in-review": "in-review";
        approved: "approved";
        pending: "pending";
        rejected: "rejected";
        scanning: "scanning";
        "changes-requested": "changes-requested";
    }>>;
    artifactUrl: z.ZodString;
    releaseNotes: z.ZodOptional<z.ZodString>;
    isNewListing: z.ZodDefault<z.ZodBoolean>;
    scanResults: z.ZodOptional<z.ZodObject<{
        passed: z.ZodBoolean;
        securityScore: z.ZodOptional<z.ZodNumber>;
        compatibilityCheck: z.ZodOptional<z.ZodBoolean>;
        issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
            severity: z.ZodEnum<{
                info: "info";
                medium: "medium";
                critical: "critical";
                high: "high";
                low: "low";
            }>;
            message: z.ZodString;
            file: z.ZodOptional<z.ZodString>;
            line: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    reviewerNotes: z.ZodOptional<z.ZodString>;
    submittedAt: z.ZodOptional<z.ZodString>;
    reviewedAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Marketplace Search Request
 */
declare const MarketplaceSearchRequestSchema: z.ZodObject<{
    query: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodEnum<{
        other: "other";
        automation: "automation";
        security: "security";
        integration: "integration";
        storage: "storage";
        analytics: "analytics";
        ai: "ai";
        crm: "crm";
        erp: "erp";
        hr: "hr";
        finance: "finance";
        project: "project";
        collaboration: "collaboration";
        "developer-tools": "developer-tools";
        "ui-theme": "ui-theme";
    }>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    pricing: z.ZodOptional<z.ZodEnum<{
        free: "free";
        freemium: "freemium";
        paid: "paid";
        subscription: "subscription";
        "usage-based": "usage-based";
        "contact-sales": "contact-sales";
    }>>;
    publisherVerification: z.ZodOptional<z.ZodEnum<{
        verified: "verified";
        pending: "pending";
        trusted: "trusted";
        unverified: "unverified";
        partner: "partner";
    }>>;
    sortBy: z.ZodDefault<z.ZodEnum<{
        name: "name";
        rating: "rating";
        updated: "updated";
        relevance: "relevance";
        popularity: "popularity";
        newest: "newest";
    }>>;
    sortDirection: z.ZodDefault<z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>;
    page: z.ZodDefault<z.ZodNumber>;
    pageSize: z.ZodDefault<z.ZodNumber>;
    platformVersion: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Marketplace Search Response
 */
declare const MarketplaceSearchResponseSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        packageId: z.ZodString;
        publisherId: z.ZodString;
        status: z.ZodDefault<z.ZodEnum<{
            deprecated: "deprecated";
            draft: "draft";
            submitted: "submitted";
            "in-review": "in-review";
            approved: "approved";
            suspended: "suspended";
            published: "published";
            rejected: "rejected";
            unlisted: "unlisted";
        }>>;
        name: z.ZodString;
        tagline: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        category: z.ZodEnum<{
            other: "other";
            automation: "automation";
            security: "security";
            integration: "integration";
            storage: "storage";
            analytics: "analytics";
            ai: "ai";
            crm: "crm";
            erp: "erp";
            hr: "hr";
            finance: "finance";
            project: "project";
            collaboration: "collaboration";
            "developer-tools": "developer-tools";
            "ui-theme": "ui-theme";
        }>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        iconUrl: z.ZodOptional<z.ZodString>;
        screenshots: z.ZodOptional<z.ZodArray<z.ZodObject<{
            url: z.ZodString;
            caption: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        documentationUrl: z.ZodOptional<z.ZodString>;
        supportUrl: z.ZodOptional<z.ZodString>;
        repositoryUrl: z.ZodOptional<z.ZodString>;
        pricing: z.ZodDefault<z.ZodEnum<{
            free: "free";
            freemium: "freemium";
            paid: "paid";
            subscription: "subscription";
            "usage-based": "usage-based";
            "contact-sales": "contact-sales";
        }>>;
        priceInCents: z.ZodOptional<z.ZodNumber>;
        latestVersion: z.ZodString;
        minPlatformVersion: z.ZodOptional<z.ZodString>;
        versions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            version: z.ZodString;
            releaseDate: z.ZodString;
            releaseNotes: z.ZodOptional<z.ZodString>;
            minPlatformVersion: z.ZodOptional<z.ZodString>;
            deprecated: z.ZodDefault<z.ZodBoolean>;
            artifact: z.ZodOptional<z.ZodObject<{
                url: z.ZodString;
                sha256: z.ZodString;
                size: z.ZodNumber;
                format: z.ZodDefault<z.ZodEnum<{
                    tgz: "tgz";
                    zip: "zip";
                }>>;
                uploadedAt: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>>;
        stats: z.ZodOptional<z.ZodObject<{
            totalInstalls: z.ZodDefault<z.ZodNumber>;
            activeInstalls: z.ZodDefault<z.ZodNumber>;
            averageRating: z.ZodOptional<z.ZodNumber>;
            totalRatings: z.ZodDefault<z.ZodNumber>;
            totalReviews: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>>;
        publishedAt: z.ZodOptional<z.ZodString>;
        updatedAt: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    total: z.ZodNumber;
    page: z.ZodNumber;
    pageSize: z.ZodNumber;
    facets: z.ZodOptional<z.ZodObject<{
        categories: z.ZodOptional<z.ZodArray<z.ZodObject<{
            category: z.ZodEnum<{
                other: "other";
                automation: "automation";
                security: "security";
                integration: "integration";
                storage: "storage";
                analytics: "analytics";
                ai: "ai";
                crm: "crm";
                erp: "erp";
                hr: "hr";
                finance: "finance";
                project: "project";
                collaboration: "collaboration";
                "developer-tools": "developer-tools";
                "ui-theme": "ui-theme";
            }>;
            count: z.ZodNumber;
        }, z.core.$strip>>>;
        pricing: z.ZodOptional<z.ZodArray<z.ZodObject<{
            model: z.ZodEnum<{
                free: "free";
                freemium: "freemium";
                paid: "paid";
                subscription: "subscription";
                "usage-based": "usage-based";
                "contact-sales": "contact-sales";
            }>;
            count: z.ZodNumber;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
/**
 * Install from Marketplace Request
 * Extends the basic package install with marketplace-specific fields.
 */
declare const MarketplaceInstallRequestSchema: z.ZodObject<{
    listingId: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
    licenseKey: z.ZodOptional<z.ZodString>;
    settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    enableOnInstall: z.ZodDefault<z.ZodBoolean>;
    artifactRef: z.ZodOptional<z.ZodObject<{
        url: z.ZodString;
        sha256: z.ZodString;
        size: z.ZodNumber;
        format: z.ZodDefault<z.ZodEnum<{
            tgz: "tgz";
            zip: "zip";
        }>>;
        uploadedAt: z.ZodString;
    }, z.core.$strip>>;
    tenantId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Install from Marketplace Response
 */
declare const MarketplaceInstallResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    packageId: z.ZodOptional<z.ZodString>;
    version: z.ZodOptional<z.ZodString>;
    message: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type PublisherVerification = z.infer<typeof PublisherVerificationSchema>;
type Publisher = z.infer<typeof PublisherSchema>;
type MarketplaceCategory = z.infer<typeof MarketplaceCategorySchema>;
type ListingStatus = z.infer<typeof ListingStatusSchema>;
type PricingModel = z.infer<typeof PricingModelSchema>;
type MarketplaceListing = z.infer<typeof MarketplaceListingSchema>;
type PackageSubmission = z.infer<typeof PackageSubmissionSchema>;
type MarketplaceSearchRequest = z.infer<typeof MarketplaceSearchRequestSchema>;
type MarketplaceSearchResponse = z.infer<typeof MarketplaceSearchResponseSchema>;
type MarketplaceInstallRequest = z.infer<typeof MarketplaceInstallRequestSchema>;
type MarketplaceInstallResponse = z.infer<typeof MarketplaceInstallResponseSchema>;

/**
 * # Developer Portal Protocol
 *
 * Defines schemas for the developer-facing side of the marketplace ecosystem.
 * Covers the complete developer journey:
 *
 * ```
 * Register → Create App → Develop → Validate → Build → Submit → Monitor → Iterate
 * ```
 *
 * ## Architecture Alignment
 * - **Salesforce Partner Portal**: ISV registration, AppExchange publishing, Trialforce
 * - **Shopify Partner Dashboard**: App management, analytics, billing
 * - **VS Code Marketplace Management**: Extension publishing, statistics, tokens
 *
 * ## Identity Integration (better-auth)
 * Authentication, organization management, and API keys are handled by the
 * Identity module (`@objectstack/spec` Identity namespace), which follows the
 * better-auth specification. This module only defines marketplace-specific
 * extensions on top of the shared identity layer:
 *
 * - **User & Session** → `Identity.UserSchema`, `Identity.SessionSchema`
 * - **Organization & Members** → `Identity.OrganizationSchema`, `Identity.MemberSchema`
 * - **API Keys** → `Identity.ApiKeySchema` (with marketplace scopes)
 *
 * ## Key Concepts
 * - **Publisher Profile**: Links an Identity Organization to a marketplace publisher
 * - **App Listing Management**: CRUD for marketplace listings (draft → published)
 * - **Version Channels**: alpha / beta / rc / stable release channels
 * - **Publishing Analytics**: Install trends, revenue, ratings over time
 */
/**
 * Publisher Profile Schema
 *
 * Links an Identity Organization to a marketplace publisher identity.
 * The organization itself (name, slug, logo, members) is managed via
 * Identity.OrganizationSchema and Identity.MemberSchema (better-auth aligned).
 *
 * This schema only holds marketplace-specific publisher metadata.
 */
declare const PublisherProfileSchema: z.ZodObject<{
    organizationId: z.ZodString;
    publisherId: z.ZodString;
    verification: z.ZodDefault<z.ZodEnum<{
        verified: "verified";
        pending: "pending";
        trusted: "trusted";
        unverified: "unverified";
        partner: "partner";
    }>>;
    agreementVersion: z.ZodOptional<z.ZodString>;
    website: z.ZodOptional<z.ZodString>;
    supportEmail: z.ZodOptional<z.ZodString>;
    registeredAt: z.ZodString;
}, z.core.$strip>;
/**
 * Release Channel — allows pre-release distribution
 */
declare const ReleaseChannelSchema: z.ZodEnum<{
    alpha: "alpha";
    stable: "stable";
    beta: "beta";
    rc: "rc";
}>;
/**
 * Version Release Schema
 *
 * A single version release of a package with channel assignment.
 */
declare const VersionReleaseSchema: z.ZodObject<{
    version: z.ZodString;
    channel: z.ZodDefault<z.ZodEnum<{
        alpha: "alpha";
        stable: "stable";
        beta: "beta";
        rc: "rc";
    }>>;
    releaseNotes: z.ZodOptional<z.ZodString>;
    changelog: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<{
            fixed: "fixed";
            deprecated: "deprecated";
            security: "security";
            removed: "removed";
            added: "added";
            changed: "changed";
        }>;
        description: z.ZodString;
    }, z.core.$strip>>>;
    minPlatformVersion: z.ZodOptional<z.ZodString>;
    artifactUrl: z.ZodOptional<z.ZodString>;
    artifactChecksum: z.ZodOptional<z.ZodString>;
    deprecated: z.ZodDefault<z.ZodBoolean>;
    deprecationMessage: z.ZodOptional<z.ZodString>;
    releasedAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Create Listing Request — developer creates a new marketplace listing
 */
declare const CreateListingRequestSchema: z.ZodObject<{
    packageId: z.ZodString;
    name: z.ZodString;
    tagline: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    category: z.ZodString;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    iconUrl: z.ZodOptional<z.ZodString>;
    screenshots: z.ZodOptional<z.ZodArray<z.ZodObject<{
        url: z.ZodString;
        caption: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    documentationUrl: z.ZodOptional<z.ZodString>;
    supportUrl: z.ZodOptional<z.ZodString>;
    repositoryUrl: z.ZodOptional<z.ZodString>;
    pricing: z.ZodDefault<z.ZodEnum<{
        free: "free";
        freemium: "freemium";
        paid: "paid";
        subscription: "subscription";
        "usage-based": "usage-based";
        "contact-sales": "contact-sales";
    }>>;
    priceInCents: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
 * Update Listing Request — developer updates listing metadata
 */
declare const UpdateListingRequestSchema: z.ZodObject<{
    listingId: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    tagline: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    iconUrl: z.ZodOptional<z.ZodString>;
    screenshots: z.ZodOptional<z.ZodArray<z.ZodObject<{
        url: z.ZodString;
        caption: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    documentationUrl: z.ZodOptional<z.ZodString>;
    supportUrl: z.ZodOptional<z.ZodString>;
    repositoryUrl: z.ZodOptional<z.ZodString>;
    pricing: z.ZodOptional<z.ZodEnum<{
        free: "free";
        freemium: "freemium";
        paid: "paid";
        subscription: "subscription";
        "usage-based": "usage-based";
        "contact-sales": "contact-sales";
    }>>;
    priceInCents: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
 * Listing Action Request — lifecycle actions on a listing
 */
declare const ListingActionRequestSchema: z.ZodObject<{
    listingId: z.ZodString;
    action: z.ZodEnum<{
        submit: "submit";
        unlist: "unlist";
        deprecate: "deprecate";
        reactivate: "reactivate";
    }>;
    reason: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Analytics Time Range
 */
declare const AnalyticsTimeRangeSchema: z.ZodEnum<{
    last_7d: "last_7d";
    last_30d: "last_30d";
    last_90d: "last_90d";
    last_365d: "last_365d";
    all_time: "all_time";
}>;
/**
 * Publishing Analytics Request
 */
declare const PublishingAnalyticsRequestSchema: z.ZodObject<{
    listingId: z.ZodString;
    timeRange: z.ZodDefault<z.ZodEnum<{
        last_7d: "last_7d";
        last_30d: "last_30d";
        last_90d: "last_90d";
        last_365d: "last_365d";
        all_time: "all_time";
    }>>;
    metrics: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        ratings: "ratings";
        installs: "installs";
        uninstalls: "uninstalls";
        active_installs: "active_installs";
        revenue: "revenue";
        page_views: "page_views";
    }>>>;
}, z.core.$strip>;
/**
 * Time Series Data Point
 */
declare const TimeSeriesPointSchema: z.ZodObject<{
    date: z.ZodString;
    value: z.ZodNumber;
}, z.core.$strip>;
/**
 * Publishing Analytics Response
 */
declare const PublishingAnalyticsResponseSchema: z.ZodObject<{
    listingId: z.ZodString;
    timeRange: z.ZodEnum<{
        last_7d: "last_7d";
        last_30d: "last_30d";
        last_90d: "last_90d";
        last_365d: "last_365d";
        all_time: "all_time";
    }>;
    summary: z.ZodObject<{
        totalInstalls: z.ZodNumber;
        activeInstalls: z.ZodNumber;
        totalUninstalls: z.ZodNumber;
        averageRating: z.ZodOptional<z.ZodNumber>;
        totalRatings: z.ZodNumber;
        totalRevenue: z.ZodOptional<z.ZodNumber>;
        pageViews: z.ZodNumber;
    }, z.core.$strip>;
    timeSeries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
        date: z.ZodString;
        value: z.ZodNumber;
    }, z.core.$strip>>>>;
    ratingDistribution: z.ZodOptional<z.ZodObject<{
        1: z.ZodDefault<z.ZodNumber>;
        2: z.ZodDefault<z.ZodNumber>;
        3: z.ZodDefault<z.ZodNumber>;
        4: z.ZodDefault<z.ZodNumber>;
        5: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strip>;
type PublisherProfile = z.infer<typeof PublisherProfileSchema>;
type ReleaseChannel = z.infer<typeof ReleaseChannelSchema>;
type VersionRelease = z.infer<typeof VersionReleaseSchema>;
type CreateListingRequest = z.infer<typeof CreateListingRequestSchema>;
type UpdateListingRequest = z.infer<typeof UpdateListingRequestSchema>;
type ListingActionRequest = z.infer<typeof ListingActionRequestSchema>;
type AnalyticsTimeRange = z.infer<typeof AnalyticsTimeRangeSchema>;
type PublishingAnalyticsRequest = z.infer<typeof PublishingAnalyticsRequestSchema>;
type TimeSeriesPoint = z.infer<typeof TimeSeriesPointSchema>;
type PublishingAnalyticsResponse = z.infer<typeof PublishingAnalyticsResponseSchema>;

/**
 * # Marketplace Administration Protocol
 *
 * Defines schemas for the platform (Cloud) side of marketplace operations.
 * Covers the administrative workflows for managing and governing the marketplace.
 *
 * ## Architecture Alignment
 * - **Salesforce AppExchange Admin**: Security review, ISV monitoring, partner management
 * - **Apple App Store Connect Review**: Human review process, guidelines, rejection reasons
 * - **Google Play Console**: Policy enforcement, quality gates, content moderation
 *
 * ## Key Concepts
 * - **Review Process**: Structured workflow for submission review (automated + manual)
 * - **Curation**: Featured apps, curated collections, editorial picks
 * - **Governance**: Policy enforcement, takedown, compliance
 * - **Platform Analytics**: Marketplace health, trending, abuse detection
 */
/**
 * Review Criteria — checklist items for human reviewers
 */
declare const ReviewCriterionSchema: z.ZodObject<{
    id: z.ZodString;
    category: z.ZodEnum<{
        performance: "performance";
        documentation: "documentation";
        security: "security";
        policy: "policy";
        compatibility: "compatibility";
        quality: "quality";
        ux: "ux";
    }>;
    description: z.ZodString;
    required: z.ZodDefault<z.ZodBoolean>;
    passed: z.ZodOptional<z.ZodBoolean>;
    notes: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Review Decision
 */
declare const ReviewDecisionSchema: z.ZodEnum<{
    approved: "approved";
    rejected: "rejected";
    "changes-requested": "changes-requested";
}>;
/**
 * Rejection Reason Category
 */
declare const RejectionReasonSchema: z.ZodEnum<{
    other: "other";
    incompatible: "incompatible";
    "security-vulnerability": "security-vulnerability";
    "policy-violation": "policy-violation";
    "quality-below-standard": "quality-below-standard";
    "misleading-metadata": "misleading-metadata";
    duplicate: "duplicate";
    "insufficient-documentation": "insufficient-documentation";
}>;
/**
 * Submission Review Schema
 *
 * The review record attached to a package submission.
 */
declare const SubmissionReviewSchema: z.ZodObject<{
    id: z.ZodString;
    submissionId: z.ZodString;
    reviewerId: z.ZodString;
    decision: z.ZodOptional<z.ZodEnum<{
        approved: "approved";
        rejected: "rejected";
        "changes-requested": "changes-requested";
    }>>;
    criteria: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        category: z.ZodEnum<{
            performance: "performance";
            documentation: "documentation";
            security: "security";
            policy: "policy";
            compatibility: "compatibility";
            quality: "quality";
            ux: "ux";
        }>;
        description: z.ZodString;
        required: z.ZodDefault<z.ZodBoolean>;
        passed: z.ZodOptional<z.ZodBoolean>;
        notes: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    rejectionReasons: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        other: "other";
        incompatible: "incompatible";
        "security-vulnerability": "security-vulnerability";
        "policy-violation": "policy-violation";
        "quality-below-standard": "quality-below-standard";
        "misleading-metadata": "misleading-metadata";
        duplicate: "duplicate";
        "insufficient-documentation": "insufficient-documentation";
    }>>>;
    feedback: z.ZodOptional<z.ZodString>;
    internalNotes: z.ZodOptional<z.ZodString>;
    startedAt: z.ZodOptional<z.ZodString>;
    completedAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Featured Listing — promoted on marketplace homepage
 */
declare const FeaturedListingSchema: z.ZodObject<{
    listingId: z.ZodString;
    priority: z.ZodDefault<z.ZodNumber>;
    bannerUrl: z.ZodOptional<z.ZodString>;
    editorialNote: z.ZodOptional<z.ZodString>;
    startDate: z.ZodString;
    endDate: z.ZodOptional<z.ZodString>;
    active: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * Curated Collection — a themed group of listings
 */
declare const CuratedCollectionSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    coverImageUrl: z.ZodOptional<z.ZodString>;
    listingIds: z.ZodArray<z.ZodString>;
    published: z.ZodDefault<z.ZodBoolean>;
    sortOrder: z.ZodDefault<z.ZodNumber>;
    createdBy: z.ZodOptional<z.ZodString>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Policy Violation Type
 */
declare const PolicyViolationTypeSchema: z.ZodEnum<{
    malware: "malware";
    "data-harvesting": "data-harvesting";
    spam: "spam";
    copyright: "copyright";
    "inappropriate-content": "inappropriate-content";
    "terms-of-service": "terms-of-service";
    "security-risk": "security-risk";
    abandoned: "abandoned";
}>;
/**
 * Policy Action — enforcement action on a listing
 */
declare const PolicyActionSchema: z.ZodObject<{
    id: z.ZodString;
    listingId: z.ZodString;
    violationType: z.ZodEnum<{
        malware: "malware";
        "data-harvesting": "data-harvesting";
        spam: "spam";
        copyright: "copyright";
        "inappropriate-content": "inappropriate-content";
        "terms-of-service": "terms-of-service";
        "security-risk": "security-risk";
        abandoned: "abandoned";
    }>;
    action: z.ZodEnum<{
        restrict: "restrict";
        warning: "warning";
        suspend: "suspend";
        takedown: "takedown";
    }>;
    reason: z.ZodString;
    actionBy: z.ZodString;
    actionAt: z.ZodString;
    resolution: z.ZodOptional<z.ZodString>;
    resolved: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * Marketplace Health Metrics — overall platform statistics
 */
declare const MarketplaceHealthMetricsSchema: z.ZodObject<{
    totalListings: z.ZodNumber;
    listingsByStatus: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    listingsByCategory: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    totalPublishers: z.ZodNumber;
    verifiedPublishers: z.ZodNumber;
    totalInstalls: z.ZodNumber;
    averageReviewTime: z.ZodOptional<z.ZodNumber>;
    pendingReviews: z.ZodNumber;
    listingsByPricing: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    snapshotAt: z.ZodString;
}, z.core.$strip>;
/**
 * Trending Listing — computed from recent activity
 */
declare const TrendingListingSchema: z.ZodObject<{
    listingId: z.ZodString;
    rank: z.ZodNumber;
    trendScore: z.ZodNumber;
    installVelocity: z.ZodNumber;
    period: z.ZodString;
}, z.core.$strip>;
type ReviewCriterion = z.infer<typeof ReviewCriterionSchema>;
type ReviewDecision = z.infer<typeof ReviewDecisionSchema>;
type RejectionReason = z.infer<typeof RejectionReasonSchema>;
type SubmissionReview = z.infer<typeof SubmissionReviewSchema>;
type FeaturedListing = z.infer<typeof FeaturedListingSchema>;
type CuratedCollection = z.infer<typeof CuratedCollectionSchema>;
type PolicyViolationType = z.infer<typeof PolicyViolationTypeSchema>;
type PolicyAction = z.infer<typeof PolicyActionSchema>;
type MarketplaceHealthMetrics = z.infer<typeof MarketplaceHealthMetricsSchema>;
type TrendingListing = z.infer<typeof TrendingListingSchema>;

/**
 * # App Store Protocol (Customer Experience)
 *
 * Defines schemas for the end-customer experience when browsing, evaluating,
 * installing, and managing marketplace apps from within ObjectOS.
 *
 * ## Architecture Alignment
 * - **Salesforce AppExchange (Customer)**: Browse apps, read reviews, 1-click install
 * - **Shopify App Store (Merchant)**: App evaluation, trial, install, manage subscriptions
 * - **Apple App Store (User)**: Ratings, reviews, featured collections, personalized recs
 *
 * ## Customer Journey
 * ```
 * Discover → Evaluate → Install → Configure → Use → Rate/Review → Manage
 * ```
 *
 * ## Key Concepts
 * - **Reviews & Ratings**: User-submitted ratings and reviews with moderation
 * - **Collections & Recommendations**: Personalized discovery and curated picks
 * - **Subscription Management**: Manage licenses, billing, and renewals
 * - **Installed App Management**: Enable, disable, configure, upgrade, uninstall
 */
/**
 * Review Moderation Status
 */
declare const ReviewModerationStatusSchema: z.ZodEnum<{
    approved: "approved";
    pending: "pending";
    rejected: "rejected";
    flagged: "flagged";
}>;
/**
 * User Review Schema — a customer's review of an installed app
 */
declare const UserReviewSchema: z.ZodObject<{
    id: z.ZodString;
    listingId: z.ZodString;
    userId: z.ZodString;
    displayName: z.ZodOptional<z.ZodString>;
    rating: z.ZodNumber;
    title: z.ZodOptional<z.ZodString>;
    body: z.ZodOptional<z.ZodString>;
    appVersion: z.ZodOptional<z.ZodString>;
    moderationStatus: z.ZodDefault<z.ZodEnum<{
        approved: "approved";
        pending: "pending";
        rejected: "rejected";
        flagged: "flagged";
    }>>;
    helpfulCount: z.ZodDefault<z.ZodNumber>;
    publisherResponse: z.ZodOptional<z.ZodObject<{
        body: z.ZodString;
        respondedAt: z.ZodString;
    }, z.core.$strip>>;
    submittedAt: z.ZodString;
    updatedAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Submit Review Request
 */
declare const SubmitReviewRequestSchema: z.ZodObject<{
    listingId: z.ZodString;
    rating: z.ZodNumber;
    title: z.ZodOptional<z.ZodString>;
    body: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * List Reviews Request — customer browsing reviews
 */
declare const ListReviewsRequestSchema: z.ZodObject<{
    listingId: z.ZodString;
    sortBy: z.ZodDefault<z.ZodEnum<{
        oldest: "oldest";
        newest: "newest";
        highest: "highest";
        lowest: "lowest";
        "most-helpful": "most-helpful";
    }>>;
    rating: z.ZodOptional<z.ZodNumber>;
    page: z.ZodDefault<z.ZodNumber>;
    pageSize: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
/**
 * List Reviews Response
 */
declare const ListReviewsResponseSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        listingId: z.ZodString;
        userId: z.ZodString;
        displayName: z.ZodOptional<z.ZodString>;
        rating: z.ZodNumber;
        title: z.ZodOptional<z.ZodString>;
        body: z.ZodOptional<z.ZodString>;
        appVersion: z.ZodOptional<z.ZodString>;
        moderationStatus: z.ZodDefault<z.ZodEnum<{
            approved: "approved";
            pending: "pending";
            rejected: "rejected";
            flagged: "flagged";
        }>>;
        helpfulCount: z.ZodDefault<z.ZodNumber>;
        publisherResponse: z.ZodOptional<z.ZodObject<{
            body: z.ZodString;
            respondedAt: z.ZodString;
        }, z.core.$strip>>;
        submittedAt: z.ZodString;
        updatedAt: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    total: z.ZodNumber;
    page: z.ZodNumber;
    pageSize: z.ZodNumber;
    ratingSummary: z.ZodOptional<z.ZodObject<{
        averageRating: z.ZodNumber;
        totalRatings: z.ZodNumber;
        distribution: z.ZodObject<{
            1: z.ZodDefault<z.ZodNumber>;
            2: z.ZodDefault<z.ZodNumber>;
            3: z.ZodDefault<z.ZodNumber>;
            4: z.ZodDefault<z.ZodNumber>;
            5: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>;
    }, z.core.$strip>>;
}, z.core.$strip>;
/**
 * App Recommendation Reason
 */
declare const RecommendationReasonSchema: z.ZodEnum<{
    "popular-in-category": "popular-in-category";
    "similar-users": "similar-users";
    "complements-installed": "complements-installed";
    trending: "trending";
    "new-release": "new-release";
    "editor-pick": "editor-pick";
}>;
/**
 * Recommended App
 */
declare const RecommendedAppSchema: z.ZodObject<{
    listingId: z.ZodString;
    name: z.ZodString;
    tagline: z.ZodOptional<z.ZodString>;
    iconUrl: z.ZodOptional<z.ZodString>;
    category: z.ZodEnum<{
        other: "other";
        automation: "automation";
        security: "security";
        integration: "integration";
        storage: "storage";
        analytics: "analytics";
        ai: "ai";
        crm: "crm";
        erp: "erp";
        hr: "hr";
        finance: "finance";
        project: "project";
        collaboration: "collaboration";
        "developer-tools": "developer-tools";
        "ui-theme": "ui-theme";
    }>;
    pricing: z.ZodEnum<{
        free: "free";
        freemium: "freemium";
        paid: "paid";
        subscription: "subscription";
        "usage-based": "usage-based";
        "contact-sales": "contact-sales";
    }>;
    averageRating: z.ZodOptional<z.ZodNumber>;
    activeInstalls: z.ZodOptional<z.ZodNumber>;
    reason: z.ZodEnum<{
        "popular-in-category": "popular-in-category";
        "similar-users": "similar-users";
        "complements-installed": "complements-installed";
        trending: "trending";
        "new-release": "new-release";
        "editor-pick": "editor-pick";
    }>;
}, z.core.$strip>;
/**
 * App Discovery Request — personalized browse/home page
 */
declare const AppDiscoveryRequestSchema: z.ZodObject<{
    tenantId: z.ZodOptional<z.ZodString>;
    categories: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        other: "other";
        automation: "automation";
        security: "security";
        integration: "integration";
        storage: "storage";
        analytics: "analytics";
        ai: "ai";
        crm: "crm";
        erp: "erp";
        hr: "hr";
        finance: "finance";
        project: "project";
        collaboration: "collaboration";
        "developer-tools": "developer-tools";
        "ui-theme": "ui-theme";
    }>>>;
    platformVersion: z.ZodOptional<z.ZodString>;
    limit: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
/**
 * App Discovery Response — structured content for the storefront
 */
declare const AppDiscoveryResponseSchema: z.ZodObject<{
    featured: z.ZodOptional<z.ZodArray<z.ZodObject<{
        listingId: z.ZodString;
        name: z.ZodString;
        tagline: z.ZodOptional<z.ZodString>;
        iconUrl: z.ZodOptional<z.ZodString>;
        category: z.ZodEnum<{
            other: "other";
            automation: "automation";
            security: "security";
            integration: "integration";
            storage: "storage";
            analytics: "analytics";
            ai: "ai";
            crm: "crm";
            erp: "erp";
            hr: "hr";
            finance: "finance";
            project: "project";
            collaboration: "collaboration";
            "developer-tools": "developer-tools";
            "ui-theme": "ui-theme";
        }>;
        pricing: z.ZodEnum<{
            free: "free";
            freemium: "freemium";
            paid: "paid";
            subscription: "subscription";
            "usage-based": "usage-based";
            "contact-sales": "contact-sales";
        }>;
        averageRating: z.ZodOptional<z.ZodNumber>;
        activeInstalls: z.ZodOptional<z.ZodNumber>;
        reason: z.ZodEnum<{
            "popular-in-category": "popular-in-category";
            "similar-users": "similar-users";
            "complements-installed": "complements-installed";
            trending: "trending";
            "new-release": "new-release";
            "editor-pick": "editor-pick";
        }>;
    }, z.core.$strip>>>;
    recommended: z.ZodOptional<z.ZodArray<z.ZodObject<{
        listingId: z.ZodString;
        name: z.ZodString;
        tagline: z.ZodOptional<z.ZodString>;
        iconUrl: z.ZodOptional<z.ZodString>;
        category: z.ZodEnum<{
            other: "other";
            automation: "automation";
            security: "security";
            integration: "integration";
            storage: "storage";
            analytics: "analytics";
            ai: "ai";
            crm: "crm";
            erp: "erp";
            hr: "hr";
            finance: "finance";
            project: "project";
            collaboration: "collaboration";
            "developer-tools": "developer-tools";
            "ui-theme": "ui-theme";
        }>;
        pricing: z.ZodEnum<{
            free: "free";
            freemium: "freemium";
            paid: "paid";
            subscription: "subscription";
            "usage-based": "usage-based";
            "contact-sales": "contact-sales";
        }>;
        averageRating: z.ZodOptional<z.ZodNumber>;
        activeInstalls: z.ZodOptional<z.ZodNumber>;
        reason: z.ZodEnum<{
            "popular-in-category": "popular-in-category";
            "similar-users": "similar-users";
            "complements-installed": "complements-installed";
            trending: "trending";
            "new-release": "new-release";
            "editor-pick": "editor-pick";
        }>;
    }, z.core.$strip>>>;
    trending: z.ZodOptional<z.ZodArray<z.ZodObject<{
        listingId: z.ZodString;
        name: z.ZodString;
        tagline: z.ZodOptional<z.ZodString>;
        iconUrl: z.ZodOptional<z.ZodString>;
        category: z.ZodEnum<{
            other: "other";
            automation: "automation";
            security: "security";
            integration: "integration";
            storage: "storage";
            analytics: "analytics";
            ai: "ai";
            crm: "crm";
            erp: "erp";
            hr: "hr";
            finance: "finance";
            project: "project";
            collaboration: "collaboration";
            "developer-tools": "developer-tools";
            "ui-theme": "ui-theme";
        }>;
        pricing: z.ZodEnum<{
            free: "free";
            freemium: "freemium";
            paid: "paid";
            subscription: "subscription";
            "usage-based": "usage-based";
            "contact-sales": "contact-sales";
        }>;
        averageRating: z.ZodOptional<z.ZodNumber>;
        activeInstalls: z.ZodOptional<z.ZodNumber>;
        reason: z.ZodEnum<{
            "popular-in-category": "popular-in-category";
            "similar-users": "similar-users";
            "complements-installed": "complements-installed";
            trending: "trending";
            "new-release": "new-release";
            "editor-pick": "editor-pick";
        }>;
    }, z.core.$strip>>>;
    newArrivals: z.ZodOptional<z.ZodArray<z.ZodObject<{
        listingId: z.ZodString;
        name: z.ZodString;
        tagline: z.ZodOptional<z.ZodString>;
        iconUrl: z.ZodOptional<z.ZodString>;
        category: z.ZodEnum<{
            other: "other";
            automation: "automation";
            security: "security";
            integration: "integration";
            storage: "storage";
            analytics: "analytics";
            ai: "ai";
            crm: "crm";
            erp: "erp";
            hr: "hr";
            finance: "finance";
            project: "project";
            collaboration: "collaboration";
            "developer-tools": "developer-tools";
            "ui-theme": "ui-theme";
        }>;
        pricing: z.ZodEnum<{
            free: "free";
            freemium: "freemium";
            paid: "paid";
            subscription: "subscription";
            "usage-based": "usage-based";
            "contact-sales": "contact-sales";
        }>;
        averageRating: z.ZodOptional<z.ZodNumber>;
        activeInstalls: z.ZodOptional<z.ZodNumber>;
        reason: z.ZodEnum<{
            "popular-in-category": "popular-in-category";
            "similar-users": "similar-users";
            "complements-installed": "complements-installed";
            trending: "trending";
            "new-release": "new-release";
            "editor-pick": "editor-pick";
        }>;
    }, z.core.$strip>>>;
    collections: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        coverImageUrl: z.ZodOptional<z.ZodString>;
        apps: z.ZodArray<z.ZodObject<{
            listingId: z.ZodString;
            name: z.ZodString;
            tagline: z.ZodOptional<z.ZodString>;
            iconUrl: z.ZodOptional<z.ZodString>;
            category: z.ZodEnum<{
                other: "other";
                automation: "automation";
                security: "security";
                integration: "integration";
                storage: "storage";
                analytics: "analytics";
                ai: "ai";
                crm: "crm";
                erp: "erp";
                hr: "hr";
                finance: "finance";
                project: "project";
                collaboration: "collaboration";
                "developer-tools": "developer-tools";
                "ui-theme": "ui-theme";
            }>;
            pricing: z.ZodEnum<{
                free: "free";
                freemium: "freemium";
                paid: "paid";
                subscription: "subscription";
                "usage-based": "usage-based";
                "contact-sales": "contact-sales";
            }>;
            averageRating: z.ZodOptional<z.ZodNumber>;
            activeInstalls: z.ZodOptional<z.ZodNumber>;
            reason: z.ZodEnum<{
                "popular-in-category": "popular-in-category";
                "similar-users": "similar-users";
                "complements-installed": "complements-installed";
                trending: "trending";
                "new-release": "new-release";
                "editor-pick": "editor-pick";
            }>;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
/**
 * Subscription Status
 */
declare const SubscriptionStatusSchema: z.ZodEnum<{
    active: "active";
    cancelled: "cancelled";
    expired: "expired";
    trialing: "trialing";
    "past-due": "past-due";
}>;
/**
 * App Subscription Schema — customer's license/subscription for an app
 */
declare const AppSubscriptionSchema: z.ZodObject<{
    id: z.ZodString;
    listingId: z.ZodString;
    tenantId: z.ZodString;
    status: z.ZodEnum<{
        active: "active";
        cancelled: "cancelled";
        expired: "expired";
        trialing: "trialing";
        "past-due": "past-due";
    }>;
    licenseKey: z.ZodOptional<z.ZodString>;
    plan: z.ZodOptional<z.ZodString>;
    billingCycle: z.ZodOptional<z.ZodEnum<{
        monthly: "monthly";
        annual: "annual";
    }>>;
    priceInCents: z.ZodOptional<z.ZodNumber>;
    currentPeriodStart: z.ZodOptional<z.ZodString>;
    currentPeriodEnd: z.ZodOptional<z.ZodString>;
    trialEndDate: z.ZodOptional<z.ZodString>;
    autoRenew: z.ZodDefault<z.ZodBoolean>;
    createdAt: z.ZodString;
}, z.core.$strip>;
/**
 * Installed App Summary — what the customer sees in their "My Apps" dashboard
 */
declare const InstalledAppSummarySchema: z.ZodObject<{
    listingId: z.ZodString;
    packageId: z.ZodString;
    name: z.ZodString;
    iconUrl: z.ZodOptional<z.ZodString>;
    installedVersion: z.ZodString;
    latestVersion: z.ZodOptional<z.ZodString>;
    updateAvailable: z.ZodDefault<z.ZodBoolean>;
    enabled: z.ZodDefault<z.ZodBoolean>;
    subscriptionStatus: z.ZodOptional<z.ZodEnum<{
        active: "active";
        cancelled: "cancelled";
        expired: "expired";
        trialing: "trialing";
        "past-due": "past-due";
    }>>;
    installedAt: z.ZodString;
}, z.core.$strip>;
/**
 * List Installed Apps Request
 */
declare const ListInstalledAppsRequestSchema: z.ZodObject<{
    tenantId: z.ZodOptional<z.ZodString>;
    enabled: z.ZodOptional<z.ZodBoolean>;
    updateAvailable: z.ZodOptional<z.ZodBoolean>;
    sortBy: z.ZodDefault<z.ZodEnum<{
        name: "name";
        "installed-date": "installed-date";
        "updated-date": "updated-date";
    }>>;
    page: z.ZodDefault<z.ZodNumber>;
    pageSize: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
/**
 * List Installed Apps Response
 */
declare const ListInstalledAppsResponseSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        listingId: z.ZodString;
        packageId: z.ZodString;
        name: z.ZodString;
        iconUrl: z.ZodOptional<z.ZodString>;
        installedVersion: z.ZodString;
        latestVersion: z.ZodOptional<z.ZodString>;
        updateAvailable: z.ZodDefault<z.ZodBoolean>;
        enabled: z.ZodDefault<z.ZodBoolean>;
        subscriptionStatus: z.ZodOptional<z.ZodEnum<{
            active: "active";
            cancelled: "cancelled";
            expired: "expired";
            trialing: "trialing";
            "past-due": "past-due";
        }>>;
        installedAt: z.ZodString;
    }, z.core.$strip>>;
    total: z.ZodNumber;
    page: z.ZodNumber;
    pageSize: z.ZodNumber;
}, z.core.$strip>;
type ReviewModerationStatus = z.infer<typeof ReviewModerationStatusSchema>;
type UserReview = z.infer<typeof UserReviewSchema>;
type SubmitReviewRequest = z.infer<typeof SubmitReviewRequestSchema>;
type ListReviewsRequest = z.infer<typeof ListReviewsRequestSchema>;
type ListReviewsResponse = z.infer<typeof ListReviewsResponseSchema>;
type RecommendationReason = z.infer<typeof RecommendationReasonSchema>;
type RecommendedApp = z.infer<typeof RecommendedAppSchema>;
type AppDiscoveryRequest = z.infer<typeof AppDiscoveryRequestSchema>;
type AppDiscoveryResponse = z.infer<typeof AppDiscoveryResponseSchema>;
type SubscriptionStatus = z.infer<typeof SubscriptionStatusSchema>;
type AppSubscription = z.infer<typeof AppSubscriptionSchema>;
type InstalledAppSummary = z.infer<typeof InstalledAppSummarySchema>;
type ListInstalledAppsRequest = z.infer<typeof ListInstalledAppsRequestSchema>;
type ListInstalledAppsResponse = z.infer<typeof ListInstalledAppsResponseSchema>;

/**
 * Cloud Protocol
 *
 * Cloud-specific protocols for the ObjectStack SaaS platform.
 * These schemas define the contract for cloud services like:
 * - Marketplace (listing, publishing, review, search, install)
 * - Developer Portal (developer registration, API keys, publishing analytics)
 * - Marketplace Administration (review workflow, curation, governance)
 * - App Store (customer experience: reviews, recommendations, subscriptions)
 * - Future: Composer, Space, Hub Federation
 */

type index_AnalyticsTimeRange = AnalyticsTimeRange;
declare const index_AnalyticsTimeRangeSchema: typeof AnalyticsTimeRangeSchema;
type index_AppDiscoveryRequest = AppDiscoveryRequest;
declare const index_AppDiscoveryRequestSchema: typeof AppDiscoveryRequestSchema;
type index_AppDiscoveryResponse = AppDiscoveryResponse;
declare const index_AppDiscoveryResponseSchema: typeof AppDiscoveryResponseSchema;
type index_AppSubscription = AppSubscription;
declare const index_AppSubscriptionSchema: typeof AppSubscriptionSchema;
type index_ArtifactDownloadResponse = ArtifactDownloadResponse;
declare const index_ArtifactDownloadResponseSchema: typeof ArtifactDownloadResponseSchema;
type index_ArtifactReference = ArtifactReference;
declare const index_ArtifactReferenceSchema: typeof ArtifactReferenceSchema;
type index_CreateListingRequest = CreateListingRequest;
declare const index_CreateListingRequestSchema: typeof CreateListingRequestSchema;
type index_CuratedCollection = CuratedCollection;
declare const index_CuratedCollectionSchema: typeof CuratedCollectionSchema;
type index_FeaturedListing = FeaturedListing;
declare const index_FeaturedListingSchema: typeof FeaturedListingSchema;
type index_InstalledAppSummary = InstalledAppSummary;
declare const index_InstalledAppSummarySchema: typeof InstalledAppSummarySchema;
type index_ListInstalledAppsRequest = ListInstalledAppsRequest;
declare const index_ListInstalledAppsRequestSchema: typeof ListInstalledAppsRequestSchema;
type index_ListInstalledAppsResponse = ListInstalledAppsResponse;
declare const index_ListInstalledAppsResponseSchema: typeof ListInstalledAppsResponseSchema;
type index_ListReviewsRequest = ListReviewsRequest;
declare const index_ListReviewsRequestSchema: typeof ListReviewsRequestSchema;
type index_ListReviewsResponse = ListReviewsResponse;
declare const index_ListReviewsResponseSchema: typeof ListReviewsResponseSchema;
type index_ListingActionRequest = ListingActionRequest;
declare const index_ListingActionRequestSchema: typeof ListingActionRequestSchema;
type index_ListingStatus = ListingStatus;
declare const index_ListingStatusSchema: typeof ListingStatusSchema;
type index_MarketplaceCategory = MarketplaceCategory;
declare const index_MarketplaceCategorySchema: typeof MarketplaceCategorySchema;
type index_MarketplaceHealthMetrics = MarketplaceHealthMetrics;
declare const index_MarketplaceHealthMetricsSchema: typeof MarketplaceHealthMetricsSchema;
type index_MarketplaceInstallRequest = MarketplaceInstallRequest;
declare const index_MarketplaceInstallRequestSchema: typeof MarketplaceInstallRequestSchema;
type index_MarketplaceInstallResponse = MarketplaceInstallResponse;
declare const index_MarketplaceInstallResponseSchema: typeof MarketplaceInstallResponseSchema;
type index_MarketplaceListing = MarketplaceListing;
declare const index_MarketplaceListingSchema: typeof MarketplaceListingSchema;
type index_MarketplaceSearchRequest = MarketplaceSearchRequest;
declare const index_MarketplaceSearchRequestSchema: typeof MarketplaceSearchRequestSchema;
type index_MarketplaceSearchResponse = MarketplaceSearchResponse;
declare const index_MarketplaceSearchResponseSchema: typeof MarketplaceSearchResponseSchema;
type index_PackageSubmission = PackageSubmission;
declare const index_PackageSubmissionSchema: typeof PackageSubmissionSchema;
type index_PolicyAction = PolicyAction;
declare const index_PolicyActionSchema: typeof PolicyActionSchema;
type index_PolicyViolationType = PolicyViolationType;
declare const index_PolicyViolationTypeSchema: typeof PolicyViolationTypeSchema;
type index_PricingModel = PricingModel;
declare const index_PricingModelSchema: typeof PricingModelSchema;
type index_Publisher = Publisher;
type index_PublisherProfile = PublisherProfile;
declare const index_PublisherProfileSchema: typeof PublisherProfileSchema;
declare const index_PublisherSchema: typeof PublisherSchema;
type index_PublisherVerification = PublisherVerification;
declare const index_PublisherVerificationSchema: typeof PublisherVerificationSchema;
type index_PublishingAnalyticsRequest = PublishingAnalyticsRequest;
declare const index_PublishingAnalyticsRequestSchema: typeof PublishingAnalyticsRequestSchema;
type index_PublishingAnalyticsResponse = PublishingAnalyticsResponse;
declare const index_PublishingAnalyticsResponseSchema: typeof PublishingAnalyticsResponseSchema;
type index_RecommendationReason = RecommendationReason;
declare const index_RecommendationReasonSchema: typeof RecommendationReasonSchema;
type index_RecommendedApp = RecommendedApp;
declare const index_RecommendedAppSchema: typeof RecommendedAppSchema;
type index_RejectionReason = RejectionReason;
declare const index_RejectionReasonSchema: typeof RejectionReasonSchema;
type index_ReleaseChannel = ReleaseChannel;
declare const index_ReleaseChannelSchema: typeof ReleaseChannelSchema;
type index_ReviewCriterion = ReviewCriterion;
declare const index_ReviewCriterionSchema: typeof ReviewCriterionSchema;
type index_ReviewDecision = ReviewDecision;
declare const index_ReviewDecisionSchema: typeof ReviewDecisionSchema;
type index_ReviewModerationStatus = ReviewModerationStatus;
declare const index_ReviewModerationStatusSchema: typeof ReviewModerationStatusSchema;
type index_SubmissionReview = SubmissionReview;
declare const index_SubmissionReviewSchema: typeof SubmissionReviewSchema;
type index_SubmitReviewRequest = SubmitReviewRequest;
declare const index_SubmitReviewRequestSchema: typeof SubmitReviewRequestSchema;
type index_SubscriptionStatus = SubscriptionStatus;
declare const index_SubscriptionStatusSchema: typeof SubscriptionStatusSchema;
type index_TimeSeriesPoint = TimeSeriesPoint;
declare const index_TimeSeriesPointSchema: typeof TimeSeriesPointSchema;
type index_TrendingListing = TrendingListing;
declare const index_TrendingListingSchema: typeof TrendingListingSchema;
type index_UpdateListingRequest = UpdateListingRequest;
declare const index_UpdateListingRequestSchema: typeof UpdateListingRequestSchema;
type index_UserReview = UserReview;
declare const index_UserReviewSchema: typeof UserReviewSchema;
type index_VersionRelease = VersionRelease;
declare const index_VersionReleaseSchema: typeof VersionReleaseSchema;
declare namespace index {
  export { type index_AnalyticsTimeRange as AnalyticsTimeRange, index_AnalyticsTimeRangeSchema as AnalyticsTimeRangeSchema, type index_AppDiscoveryRequest as AppDiscoveryRequest, index_AppDiscoveryRequestSchema as AppDiscoveryRequestSchema, type index_AppDiscoveryResponse as AppDiscoveryResponse, index_AppDiscoveryResponseSchema as AppDiscoveryResponseSchema, type index_AppSubscription as AppSubscription, index_AppSubscriptionSchema as AppSubscriptionSchema, type index_ArtifactDownloadResponse as ArtifactDownloadResponse, index_ArtifactDownloadResponseSchema as ArtifactDownloadResponseSchema, type index_ArtifactReference as ArtifactReference, index_ArtifactReferenceSchema as ArtifactReferenceSchema, type index_CreateListingRequest as CreateListingRequest, index_CreateListingRequestSchema as CreateListingRequestSchema, type index_CuratedCollection as CuratedCollection, index_CuratedCollectionSchema as CuratedCollectionSchema, type index_FeaturedListing as FeaturedListing, index_FeaturedListingSchema as FeaturedListingSchema, type index_InstalledAppSummary as InstalledAppSummary, index_InstalledAppSummarySchema as InstalledAppSummarySchema, type index_ListInstalledAppsRequest as ListInstalledAppsRequest, index_ListInstalledAppsRequestSchema as ListInstalledAppsRequestSchema, type index_ListInstalledAppsResponse as ListInstalledAppsResponse, index_ListInstalledAppsResponseSchema as ListInstalledAppsResponseSchema, type index_ListReviewsRequest as ListReviewsRequest, index_ListReviewsRequestSchema as ListReviewsRequestSchema, type index_ListReviewsResponse as ListReviewsResponse, index_ListReviewsResponseSchema as ListReviewsResponseSchema, type index_ListingActionRequest as ListingActionRequest, index_ListingActionRequestSchema as ListingActionRequestSchema, type index_ListingStatus as ListingStatus, index_ListingStatusSchema as ListingStatusSchema, type index_MarketplaceCategory as MarketplaceCategory, index_MarketplaceCategorySchema as MarketplaceCategorySchema, type index_MarketplaceHealthMetrics as MarketplaceHealthMetrics, index_MarketplaceHealthMetricsSchema as MarketplaceHealthMetricsSchema, type index_MarketplaceInstallRequest as MarketplaceInstallRequest, index_MarketplaceInstallRequestSchema as MarketplaceInstallRequestSchema, type index_MarketplaceInstallResponse as MarketplaceInstallResponse, index_MarketplaceInstallResponseSchema as MarketplaceInstallResponseSchema, type index_MarketplaceListing as MarketplaceListing, index_MarketplaceListingSchema as MarketplaceListingSchema, type index_MarketplaceSearchRequest as MarketplaceSearchRequest, index_MarketplaceSearchRequestSchema as MarketplaceSearchRequestSchema, type index_MarketplaceSearchResponse as MarketplaceSearchResponse, index_MarketplaceSearchResponseSchema as MarketplaceSearchResponseSchema, type index_PackageSubmission as PackageSubmission, index_PackageSubmissionSchema as PackageSubmissionSchema, type index_PolicyAction as PolicyAction, index_PolicyActionSchema as PolicyActionSchema, type index_PolicyViolationType as PolicyViolationType, index_PolicyViolationTypeSchema as PolicyViolationTypeSchema, type index_PricingModel as PricingModel, index_PricingModelSchema as PricingModelSchema, type index_Publisher as Publisher, type index_PublisherProfile as PublisherProfile, index_PublisherProfileSchema as PublisherProfileSchema, index_PublisherSchema as PublisherSchema, type index_PublisherVerification as PublisherVerification, index_PublisherVerificationSchema as PublisherVerificationSchema, type index_PublishingAnalyticsRequest as PublishingAnalyticsRequest, index_PublishingAnalyticsRequestSchema as PublishingAnalyticsRequestSchema, type index_PublishingAnalyticsResponse as PublishingAnalyticsResponse, index_PublishingAnalyticsResponseSchema as PublishingAnalyticsResponseSchema, type index_RecommendationReason as RecommendationReason, index_RecommendationReasonSchema as RecommendationReasonSchema, type index_RecommendedApp as RecommendedApp, index_RecommendedAppSchema as RecommendedAppSchema, type index_RejectionReason as RejectionReason, index_RejectionReasonSchema as RejectionReasonSchema, type index_ReleaseChannel as ReleaseChannel, index_ReleaseChannelSchema as ReleaseChannelSchema, type index_ReviewCriterion as ReviewCriterion, index_ReviewCriterionSchema as ReviewCriterionSchema, type index_ReviewDecision as ReviewDecision, index_ReviewDecisionSchema as ReviewDecisionSchema, type index_ReviewModerationStatus as ReviewModerationStatus, index_ReviewModerationStatusSchema as ReviewModerationStatusSchema, type index_SubmissionReview as SubmissionReview, index_SubmissionReviewSchema as SubmissionReviewSchema, type index_SubmitReviewRequest as SubmitReviewRequest, index_SubmitReviewRequestSchema as SubmitReviewRequestSchema, type index_SubscriptionStatus as SubscriptionStatus, index_SubscriptionStatusSchema as SubscriptionStatusSchema, type index_TimeSeriesPoint as TimeSeriesPoint, index_TimeSeriesPointSchema as TimeSeriesPointSchema, type index_TrendingListing as TrendingListing, index_TrendingListingSchema as TrendingListingSchema, type index_UpdateListingRequest as UpdateListingRequest, index_UpdateListingRequestSchema as UpdateListingRequestSchema, type index_UserReview as UserReview, index_UserReviewSchema as UserReviewSchema, type index_VersionRelease as VersionRelease, index_VersionReleaseSchema as VersionReleaseSchema };
}

export { PolicyViolationTypeSchema as $, ArtifactReferenceSchema as A, PublishingAnalyticsRequestSchema as B, CreateListingRequestSchema as C, PublishingAnalyticsResponseSchema as D, type PublisherProfile as E, type ReleaseChannel as F, type VersionRelease as G, type CreateListingRequest as H, type UpdateListingRequest as I, type ListingActionRequest as J, type AnalyticsTimeRange as K, ListingStatusSchema as L, MarketplaceCategorySchema as M, type PublishingAnalyticsRequest as N, type TimeSeriesPoint as O, PublisherVerificationSchema as P, type PublishingAnalyticsResponse as Q, ReleaseChannelSchema as R, ReviewCriterionSchema as S, TimeSeriesPointSchema as T, UpdateListingRequestSchema as U, VersionReleaseSchema as V, ReviewDecisionSchema as W, RejectionReasonSchema as X, SubmissionReviewSchema as Y, FeaturedListingSchema as Z, CuratedCollectionSchema as _, PublisherSchema as a, PolicyActionSchema as a0, MarketplaceHealthMetricsSchema as a1, TrendingListingSchema as a2, type ReviewCriterion as a3, type ReviewDecision as a4, type RejectionReason as a5, type SubmissionReview as a6, type FeaturedListing as a7, type CuratedCollection as a8, type PolicyViolationType as a9, type SubscriptionStatus as aA, type AppSubscription as aB, type InstalledAppSummary as aC, type ListInstalledAppsRequest as aD, type ListInstalledAppsResponse as aE, type PolicyAction as aa, type MarketplaceHealthMetrics as ab, type TrendingListing as ac, ReviewModerationStatusSchema as ad, UserReviewSchema as ae, SubmitReviewRequestSchema as af, ListReviewsRequestSchema as ag, ListReviewsResponseSchema as ah, RecommendationReasonSchema as ai, RecommendedAppSchema as aj, AppDiscoveryRequestSchema as ak, AppDiscoveryResponseSchema as al, SubscriptionStatusSchema as am, AppSubscriptionSchema as an, InstalledAppSummarySchema as ao, ListInstalledAppsRequestSchema as ap, ListInstalledAppsResponseSchema as aq, type ReviewModerationStatus as ar, type UserReview as as, type SubmitReviewRequest as at, type ListReviewsRequest as au, type ListReviewsResponse as av, type RecommendationReason as aw, type RecommendedApp as ax, type AppDiscoveryRequest as ay, type AppDiscoveryResponse as az, type ArtifactReference as b, ArtifactDownloadResponseSchema as c, type ArtifactDownloadResponse as d, PricingModelSchema as e, MarketplaceListingSchema as f, PackageSubmissionSchema as g, MarketplaceSearchRequestSchema as h, index as i, MarketplaceSearchResponseSchema as j, MarketplaceInstallRequestSchema as k, MarketplaceInstallResponseSchema as l, type PublisherVerification as m, type Publisher as n, type MarketplaceCategory as o, type ListingStatus as p, type PricingModel as q, type MarketplaceListing as r, type PackageSubmission as s, type MarketplaceSearchRequest as t, type MarketplaceSearchResponse as u, type MarketplaceInstallRequest as v, type MarketplaceInstallResponse as w, PublisherProfileSchema as x, ListingActionRequestSchema as y, AnalyticsTimeRangeSchema as z };
