import type { Nxtpression, PanelRootProperty, WidgetLayout, ReportRssOptions, ReportXmlOptions } from '../../common/index.ts';
export interface PanelDomainRecords {
    ":panel": PanelDomainPanelRecord;
}
export interface PanelDomainPanelRecord {
    title?: string;
    /**
     * - If an array: interpreted as a list of supported asset types
     * - If a string: interpreted as the ID of a search which contains supported assets
     */
    supports?: string[] | string;
    priority?: number;
    editorPriority?: number;
    properties?: {
        [key: string]: PanelRootProperty;
    };
    layout?: {
        panel?: WidgetLayout;
        editor?: WidgetLayout;
        csv?: string[] | true;
        json?: string[] | true;
        xml?: string[] | true;
        rss?: string[] | true;
    };
    filter?: Nxtpression;
    expand?: Nxtpression<unknown>;
    expandSkipEmpty?: boolean;
    xml?: ReportXmlOptions;
    rss?: ReportRssOptions;
    /**
     * For reports. Only when :publish#expand.type === 'published'.
     * If an already expanded to :published record is connected to an ingestclip,
     * expand further on all :published records of type 'event' that were created
     * during the ingestclip's time range.
     *
     * The use case is to find e.g. music that was played during a broadcast of
     * an ingestclip.
     */
    expandIngestclip?: boolean;
    /**
     * For reports, when :publish#expand.type === 'published'.
     * Due to legacy reasons publishedTypes defaults to ['event'],
     * if you want all types, set publishedTypes to null.
     */
    publishedTypes?: string[] | null;
}
