import '@material/web/icon/icon.js'; import '@material/web/iconbutton/icon-button.js'; import '@material/web/button/filled-button.js'; import '@material/web/button/outlined-button.js'; import '@material/web/button/text-button.js'; import '@material/web/chips/chip-set.js'; import '@material/web/chips/filter-chip.js'; import '@material/web/menu/menu.js'; import '@material/web/menu/menu-item.js'; import '@material/web/divider/divider.js'; import '@operato/input/ox-input-select-buttons.js'; import { LitElement } from 'lit'; /** * The basic tab of the board dialog. * * ## The shape, and why * * Three kinds of thing used to share one scrolling form: fields that wait for Save, actions that * happen the moment you touch them (release, join a play group), and a copy-to-domain panel hidden * behind a caret next to the name. The Save button sat in the middle of all that and scrolled out * of view on a short screen. * * Now the dialog reads top to bottom as: what this is (a status band), what you can change (the * form, committed by Save), where it plays (membership chips, which apply at once and say so), and * a footer that never scrolls away: the primary Save, the way into the modeller, and everything * else - duplicate, export, release, delete - behind one "more" menu so the footer stays two * buttons wide. Duplicate opens its own small panel with its own Copy and Cancel. * * ## Colour * * The accent (board's earth brown) is spent on three things only: the filled Save, the selected * segment, and the pressed play-group chip. Everything else is the neutral scale - the status band * is a low surface, the draft pill a warm secondary container, released a soft tertiary green - * so the one thing you are meant to press is the one thing in colour. */ export declare class BoardInfo extends LitElement { static styles: import("lit").CSSResult[]; boardId?: string; groupId?: string; board: any; boardGroupList: any[]; playGroupList: any[]; duplicating: boolean; enableModeller?: boolean; private _appCtrl; targetDomains: { id: string; name: string; subdomain: string; }[]; targetGroups: { id: string; name: string; }[]; targetSubdomain?: string; targetGroupId?: string; private menu; private original; render(): import("lit-html").TemplateResult<1>; private renderWhat; private renderDuplicate; firstUpdated(): Promise; refresh(): Promise; getGroupsByDomain(subdomain?: string): Promise; /** Something in the form differs from what the server has. */ get isDirty(): boolean; get isReleasable(): boolean; cloneBoard(): Promise; exportBoard(): Promise; releaseBoard(): Promise; updateBoard(): Promise; deleteBoard(): Promise; joinPlayGroup(group: any): Promise; leavePlayGroup(group: any): Promise; close(): void; }