import { type ReactElement, type ReactNode } from "react";
import type { ContentMediaProductsApi } from "@fluid-app/shareables-core/media-api";
import type { ContentPagesApi } from "@fluid-app/shareables-core/pages-api";
import type { ContentEnrollmentPacksApi } from "@fluid-app/shareables-core/enrollment-packs-api";
import type { ContentPlaylistsApi } from "@fluid-app/shareables-core/playlists-api";
import type { PortalProductsApi } from "@fluid-app/products-core";
/**
 * Extra context values that screens need beyond ContentDomainApi.
 * ContentDomainApi flows through ShareablesApiProvider; these extras
 * are available via usePortalContentContext().
 */
export interface PortalContentContext {
    /** The products adapter — exposed so screens can call listProducts / getProduct
     *  without a separate usePortalProductsApi() import. */
    productsApi: PortalProductsApi;
    /** Port-level playlists adapter for operations outside ShareablesApiProvider
     *  (e.g. deletePlaylist). */
    playlistsAdapter: ContentPlaylistsApi;
    /** Port-level pages adapter for operations outside ShareablesApiProvider
     *  (e.g. picker source for the playlist editor). */
    pagesAdapter: ContentPagesApi;
    /** Port-level enrollment-packs adapter — backed by the portal-tenant
     *  /api/enrollment_packs endpoint. Used by the playlist editor's content
     *  picker. */
    enrollmentPacksAdapter: ContentEnrollmentPacksApi;
    /** Media products adapter for tagging products on media. */
    mediaProductsAdapter: ContentMediaProductsApi;
}
export declare function usePortalContentContext(): PortalContentContext;
/**
 * Provides all content-domain adapters (media, playlists, shares,
 * fileResources, productMedia) via ShareablesApiProvider, plus extra
 * context values available through usePortalContentContext().
 *
 * **Required ancestor:** `<PortalProductsApiProvider>` must appear above
 * this in the tree — it supplies the `PortalProductsApi` consumed via
 * `usePortalProductsApi()` for product-media bridging.
 */
export declare function PortalContentApiProvider({ children }: {
    children: ReactNode;
}): ReactElement;
//# sourceMappingURL=PortalContentApiProvider.d.ts.map