/**
 * Organization version-based feature gating module.
 */
/**
 * Organization version constants.
 * - V1: Legacy organizations (version "1")
 * - V2: New organizations (version "2")
 *
 * Note: The distinction between cloud-prem and hybrid-cloud deployments is
 * determined by the SUPERBLOCKS_DEPLOYMENT_TYPE environment variable, not the org version.
 */
export declare const OrgVersion: {
    readonly V1: "1";
    readonly V2: "2";
};
export type OrgVersionType = (typeof OrgVersion)[keyof typeof OrgVersion];
/**
 * Features that can be gated by organization version.
 */
export declare enum OrgFeature {
    LegacyAuditLogs = "LegacyAuditLogs",
    LegacyObservability = "LegacyObservability",
    LegacySourceControl = "LegacySourceControl",
    LegacySuperblocksOcr = "LegacySuperblocksOcr",
    LegacySuperblocksEmail = "LegacySuperblocksEmail",
    LegacyGoogleSheets = "LegacyGoogleSheets",
    LegacyExecutionToken = "LegacyExecutionToken",
    LegacySecretsManagement = "LegacySecretsManagement",
    LegacyStreamingIntegrations = "LegacyStreamingIntegrations",
    InternalLegacyEndpoints = "InternalLegacyEndpoints",
    Workflows = "Workflows",
    ScheduledJobs = "ScheduledJobs",
    LegacyApps = "LegacyApps",
    PublicApps = "PublicApps",
    ReactApps = "ReactApps",
    Knowledge = "Knowledge"
}
/**
 * Determines if an organization has access to a specific feature based on its version.
 *
 * @param orgVersion - The organization's version ('1' or '2'), or undefined during migration
 * @param feature - The feature to check access for
 * @returns true if the organization has access to the feature
 */
export declare function orgHasFeature(orgVersion: OrgVersionType | undefined, feature: OrgFeature): boolean;
//# sourceMappingURL=index.d.ts.map