import { AlloySpec, RawDomSchema, SketchSpec } from 'ephox/alloy/api/component/SpecTypes';
import { ItemDataTuple, ItemSpec, WidgetItemSpec } from 'ephox/alloy/ui/types/ItemTypes';
import { MenuSpec } from 'ephox/alloy/ui/types/MenuTypes';
import { PartialMenuSpec, TieredMenuSpec } from 'ephox/alloy/ui/types/TieredMenuTypes';
import { ToolbarGroupSpec } from 'ephox/alloy/ui/types/ToolbarGroupTypes';
export interface DemoItem {
    readonly type: 'item';
    readonly text?: string;
    readonly data: {
        readonly value: string;
        readonly meta?: {
            readonly text: string;
            [key: string]: string;
        };
    };
    [key: string]: any;
}
export interface DemoSeparatorItem {
    readonly type: 'separator';
    readonly text?: string;
    readonly data?: {
        readonly value: string;
        readonly meta?: {
            readonly text: string;
            [key: string]: string;
        };
    };
}
export interface DemoWidgetItem {
    readonly type: 'widget';
    readonly data: ItemDataTuple;
    readonly autofocus: boolean;
    readonly widget: SketchSpec;
}
export declare type DemoItems = DemoWidgetItem | DemoItem | DemoSeparatorItem;
export interface DemoMenu {
    readonly value: string;
    readonly items: ItemSpec[];
    [key: string]: any;
}
declare const choice: (choiceSpec: {
    value: string;
    text: string;
}) => {
    dom: RawDomSchema;
    value: string;
};
declare const item: (itemSpec: DemoItems) => ItemSpec;
declare const gridItem: (itemSpec: DemoItem) => ItemSpec;
declare const widgetItem: (itemSpec: DemoWidgetItem) => WidgetItemSpec;
declare const gridMenu: (menuSpec: DemoMenu & {
    columns: number;
    rows: number;
}) => PartialMenuSpec;
declare const menu: (menuSpec: DemoMenu) => PartialMenuSpec;
declare const orb: (spec: DemoItem) => ItemSpec;
declare const toolbarItem: (spec: {
    text: string;
    action: () => void;
}) => AlloySpec;
declare const toolbarGroup: (group: {
    label?: string;
    items: AlloySpec[];
}) => ToolbarGroupSpec;
declare const orbMarkers: () => MenuSpec['markers'];
declare const tieredMarkers: () => TieredMenuSpec['markers'];
export { item, gridItem, widgetItem, menu, gridMenu, choice, orb, toolbarItem, toolbarGroup, tieredMarkers, orbMarkers };
//# sourceMappingURL=DemoRenders.d.ts.map