/**
 * SDK Tab Filtering
 *
 * Pure function for filtering tab group tabs based on SDK section options.
 * This is used by TabGroupField to respect SDK site configuration.
 */
import type { SdkSectionOptions } from '../sdk-config';
/**
 * Tab definition with optional SDK section option.
 * This is a minimal interface that matches what TabGroupField receives.
 */
export interface FilterableTab {
    id: string;
    sdkSectionOption?: 'backgroundColor' | 'backgroundGradient' | 'backgroundImage';
}
export declare function isSdkSectionOptionEnabled(sdkSectionOption: FilterableTab['sdkSectionOption'] | undefined, isSdkSite: boolean, sectionOptions: SdkSectionOptions | null): boolean;
/**
 * Filters tabs based on SDK section options.
 *
 * This pure function handles the filtering logic that was previously embedded
 * in TabGroupField. It's designed to be testable and reusable.
 *
 * ## Filtering Rules
 *
 * - If not an SDK site or no sectionOptions exist, all tabs are returned
 * - Tabs without `sdkSectionOption` are always visible
 * - Tabs with `sdkSectionOption` are visible unless explicitly disabled
 * - A disabled option is when `sectionOptions[key] === false`
 *
 * @param tabs - Array of tabs to filter
 * @param isSdkSite - Whether this is an SDK-configured site
 * @param sectionOptions - SDK section options (may be null)
 * @returns Filtered array of visible tabs
 *
 * @example
 * ```typescript
 * const visibleTabs = filterTabsBySdkOptions(
 *   config.tabs,
 *   isSdkSite,
 *   sectionOptions
 * )
 * ```
 */
export declare function filterTabsBySdkOptions<T extends FilterableTab>(tabs: T[], isSdkSite: boolean, sectionOptions: SdkSectionOptions | null): T[];
