/**

*/
/// <reference types="react" />
import { CMS, CMSConfig, PluginType } from './packages/core';
import { FieldPlugin } from './packages/form-builder';
import { ScreenPlugin } from './packages/react-screens';
import { Form } from './packages/forms';
import { Alerts, EventsToAlerts } from './packages/alerts';
import { SidebarState, SidebarStateOptions } from './packages/react-sidebar';
import { TinaAction, TinaState } from './tina-state';
export interface TinaCMSConfig extends CMSConfig {
    sidebar?: SidebarStateOptions | boolean;
    alerts?: EventsToAlerts;
    isLocalClient?: boolean;
    clientId?: string;
}
export declare class TinaCMS extends CMS {
    sidebar?: SidebarState;
    _alerts?: Alerts;
    state: TinaState;
    dispatch: React.Dispatch<TinaAction>;
    constructor({ sidebar, alerts, isLocalClient, clientId, ...config }?: TinaCMSConfig);
    get alerts(): Alerts;
    registerApi(name: string, api: any): void;
    get forms(): PluginType<Form>;
    get fields(): PluginType<FieldPlugin>;
    get screens(): PluginType<ScreenPlugin>;
    removeAllForms(): void;
    /**
     * When a form is associated with any queries
     * it's considered orphaned.
     */
    removeOrphanedForms(): void;
}
