import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types';
export type UIConfigProps = {
    /**
     * System metadata
     */
    sys: UIConfigSysProps;
    assetListViews: ViewFolder[];
    entryListViews: ViewFolder[];
    homeViews: HomeView[];
    livePreview?: {
        previewMode: 'livePreview' | 'legacyPreview';
    };
    publish?: {
        publishMode: 'entryPublishing' | 'localePublishing';
    };
};
export interface UIConfigSysProps extends BasicMetaSysProps {
    space: SysLink;
    environment: SysLink;
}
interface HomeView {
    widgetId: string;
    widgetNamespace: string;
}
interface ViewFolder {
    id: string;
    title: string;
    views: View[];
}
interface View {
    id: string;
    title: string;
    order?: {
        fieldId: string;
        direction: 'ascending' | 'descending';
    };
    displayedFieldIds?: string[];
    contentTypeId?: string | null;
    contentTypeIds?: string[];
    searchText?: string;
    searchFilters?: [string, string, string][];
    roles?: string[];
}
export interface UIConfig extends UIConfigProps, DefaultElements<UIConfigProps> {
}
/**
 * @internal
 * @param makeRequest - function to make requests via an adapter
 * @param data - Raw data
 * @returns Wrapped UIConfig
 */
export declare function wrapUIConfig(makeRequest: MakeRequest, data: UIConfigProps): {
    update: () => Promise<any & UIConfigProps & {
        toPlainObject(): UIConfigProps;
    }>;
} & UIConfigProps & {
    toPlainObject(): UIConfigProps;
};
export {};
