import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';

type ProductAuthoringProviderProps = {
    /**
     * When set, controls Settings product authoring for this subtree.
     * - `true` — **Builder** (tenant admin / workspace author): Add product in Settings.
     * - `false` — **End user**: products visible, no authoring UI.
     * - `undefined` — fall back to dev / env flags (legacy).
     */
    enabled?: boolean;
    children: React.ReactNode;
};
declare function ProductAuthoringProvider({ enabled, children, }: ProductAuthoringProviderProps): react_jsx_runtime.JSX.Element;
declare function resolveProductAuthoring(explicit?: boolean): boolean;
/**
 * Whether the current user may use Settings → Products authoring.
 * Prefer this hook in React; use {@link isProductAuthoringEnabled} only outside React.
 *
 * When a parent `ProductAuthoringProvider` (or `ProductProvider authoring=`) sets an
 * explicit value, that value is returned as-is — even in a production build — so that
 * customer apps can enable "Add product" for their workspace builders by wiring the
 * prop to real session auth (e.g. `session.canAuthorProducts`).
 *
 * The prod floor (`isProductAuthoringRuntimeAllowed`) only applies when no explicit
 * context value is present, i.e. when the DS demo app falls back to env / dev defaults.
 */
declare function useProductAuthoringEnabled(): boolean;
type ProductAuthoringRole = "platform-creator" | "builder" | "end-user";
/** Labels the three personas for Settings copy and onboarding. */
declare function getProductAuthoringRole(authoringEnabled: boolean): ProductAuthoringRole;

export { ProductAuthoringProvider, type ProductAuthoringProviderProps, type ProductAuthoringRole, getProductAuthoringRole, resolveProductAuthoring, useProductAuthoringEnabled };
