import type { TabGroupFieldDefinition } from '../manifest/schema';
type BackgroundFieldOptions = {
    id?: string;
    label?: string;
    allowColor?: boolean;
    allowGradient?: boolean;
    allowImage?: boolean;
    includeAdvanced?: boolean;
};
/**
 * Creates a TabGroupField for background configuration
 * with Color/Gradient/Image tabs and advanced media options.
 *
 * ## Data Structure
 *
 * This factory sets `activeTabField: 'type'`. The 'type' field is NOT explicitly
 * declared but is managed implicitly by TabGroupField. When the user switches tabs,
 * the widget writes the tab ID to the path `{id}.type`.
 *
 * The stored data structure is:
 * ```typescript
 * {
 *   type: 'color' | 'gradient' | 'image' | 'video',  // Managed by TabGroupField
 *   color?: string,                         // From Color tab
 *   gradient?: string,                      // From Gradient tab (CSS value)
 *   image?: MediaReference,                 // From Image tab (image or decorative video)
 *   showVideoOnMobile?: boolean,            // From Video tab
 *   objectFit?: 'fill' | 'fit' | 'original' | 'custom',
 *   scale?: string,
 *   position?: string,
 *   opacity?: number,
 *   overlay?: {                             // Image/video overlay (when includeAdvanced)
 *     type: 'color' | 'gradient' | 'none',
 *     color?: string,                       // Token or hex
 *     gradient?: string,                    // CSS gradient
 *     opacity?: number,                     // 0-100
 *   },
 * }
 * ```
 *
 * ## SDK Filtering
 *
 * Each tab has an `sdkSectionOption` that allows SDK sites to control tab visibility:
 * - `backgroundColor` - Controls Color tab
 * - `backgroundGradient` - Controls Gradient tab
 * - `backgroundImage` - Controls Image tab
 *
 * @param options - Configuration options
 * @param options.id - Field ID (default: 'background')
 * @param options.label - Field label (default: 'Background')
 * @param options.allowColor - Include Color tab (default: true)
 * @param options.allowGradient - Include Gradient tab (default: true)
 * @param options.allowImage - Include Image tab (default: true)
 * @param options.includeAdvanced - Include advanced image/video options (default: false)
 */
export declare function createBackgroundField(options?: BackgroundFieldOptions): TabGroupFieldDefinition;
export {};
