/**
 * Adapter: load notification-subscribed teams from the Content Lake.
 *
 * Implements the `TeamSubscriptionSource` read port (D0002): fetch active
 * teams that have at least one notification channel via GROQ, parse each
 * through `TeamSchema`, and return the valid ones. This is pure data access —
 * report→channel matching lives in the pure core matcher, not here.
 *
 * A document that fails `TeamSchema` is logged and skipped, never thrown: one
 * malformed team doc must not silence notifications for every other team.
 *
 * Constructed in the composition root from the report store's Sanity client
 * (dataset `ailf-prod-private`) — the same client that writes reports.
 *
 * @see packages/core/src/ports/notification.ts — TeamSubscriptionSource port
 * @see packages/core/src/schemas/team.ts — TeamSchema
 * @see docs/decisions/D0002-hexagonal-architecture.md
 */
import type { SanityClient } from "@sanity/client";
import type { Team, TeamSubscriptionSource } from "../_vendor/ailf-core/index.d.ts";
export declare class ContentLakeTeamSubscriptionSource implements TeamSubscriptionSource {
    private readonly client;
    constructor(client: SanityClient);
    loadSubscribedTeams(): Promise<Team[]>;
}
