import { SchemaType } from './parts/Schema'; import { Intent } from './Intent'; import { Partial } from './Partial'; import { SortItem, Ordering } from './Sort'; import { SerializeOptions, Serializable, SerializePath } from './StructureNodes'; export declare function maybeSerializeMenuItem(item: MenuItem | MenuItemBuilder, index: number, path: SerializePath): MenuItem; declare type ShowAsAction = { whenCollapsed: boolean; }; export interface MenuItem { title: string; action?: string | Function; intent?: Intent; group?: string; icon?: Function; params?: object; showAsAction?: boolean | ShowAsAction; } export declare type PartialMenuItem = Partial; export declare class MenuItemBuilder implements Serializable { protected spec: PartialMenuItem; constructor(spec?: MenuItem); action(action: string | Function): MenuItemBuilder; getAction(): string | Function | undefined; intent(intent: Intent): MenuItemBuilder; getIntent(): Intent | undefined; title(title: string): MenuItemBuilder; getTitle(): string | undefined; group(group: string): MenuItemBuilder; getGroup(): string | undefined; icon(icon: Function): MenuItemBuilder; getIcon(): Function | undefined; params(params: object): MenuItemBuilder; getParams(): object | undefined; showAsAction(showAsAction: boolean | ShowAsAction): MenuItemBuilder; getShowAsAction(): boolean | ShowAsAction | undefined; serialize(options?: SerializeOptions): MenuItem; clone(withSpec?: PartialMenuItem): MenuItemBuilder; } export interface SortMenuItem extends MenuItem { params: { by: SortItem[]; }; } export declare function getOrderingMenuItem(ordering: Ordering, extendedProjection?: string): MenuItemBuilder; export declare function getOrderingMenuItemsForSchemaType(typeName: SchemaType | string): any; export {};