import type { SchemaRootProperty, WidgetLayout } from '../../common/index.ts';
export interface SchemaDomainRecords {
    ":schema": SchemaDomainPanelRecord;
}
export interface SchemaDomainPanelRecord {
    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;
    domain?: string;
    priority?: number;
    /**
     * Configuration for exposing this schema through the asset HTTP API.
     * Schemas without `api.route` are not exposed.
     */
    api?: {
        /**
         * Single URL segment used as the public route for this schema
         * (e.g. `/api/asset/schema/{route}/{assetId}`).
         */
        route: string;
        allowed?: ApiOperation[];
    };
    properties?: {
        [key: string]: SchemaRootProperty;
    };
    layout?: {
        panel?: WidgetLayout | true;
        editor?: WidgetLayout | true;
    };
}
export type ApiOperation = "GET" | "PUT" | "PATCH" | "SEARCH";
