import type { PropertyDeclarations } from 'lit-element'; import type { HALJSONResource } from '../../public/NucleonElement/types'; import type { TemplateResult } from 'lit-html'; import type { Badge, Status } from './types'; import { BooleanSelector } from '@foxy.io/sdk/core'; import { NucleonElement } from '../../public/NucleonElement/NucleonElement'; declare const Base: typeof NucleonElement & { styles: import("lit-element").CSSResultArray; } & import("lit-element").Constructor; /** * An internal base class for any nucleon-powered form. Renders create/delete * buttons and timestamps by default, displays a spinner in non-idle states. * * @element foxy-internal-form * @since 1.17.0 */ export declare class InternalForm extends Base { /** Validation errors with this prefix will show up at the top of the form. */ static generalErrorPrefix: string; static get properties(): PropertyDeclarations; /** Status message to render at the top of the form. If `null`, the message is hidden. */ status: null | Status; /** * Renders header actions when the optional header is rendered. * Empty by default. */ renderHeaderActions(data: TData): TemplateResult | null; /** Getter that returns a i18n key for the optional form header title. */ get headerTitleKey(): string; /** I18next options to pass to the header title translation function. */ get headerTitleOptions(): Record; /** Getter that returns a i18n key for the optional form header subtitle. Note that subtitle is shown only when data is avaiable. */ get headerSubtitleKey(): string; /** I18next options to pass to the header subtitle translation function. Note that subtitle is shown only when data is avaiable. */ get headerSubtitleOptions(): Record; /** Getter that returns a list of the optional badges to put into the subtitle. The badges are shown only if subtitle is visible. */ get headerSubtitleBadges(): Badge[]; /** ID that will be written to clipboard when Copy ID button in header is clicked. */ get headerCopyIdValue(): string | number; get hiddenSelector(): BooleanSelector; /** * Renders optional form header. * - Customize which actions are rendered with `.renderHeaderActions()` method. * - Customize the header title and subtitle with `.headerTitleKey` and `.headerSubtitleKey` getters. * - Customize the header title and subtitle options with `.headerTitleOptions` and `.headerSubtitleOptions` getters. * - To hide the header completely, add `header` to `hidden-controls` attribute. */ renderHeader(): TemplateResult; /** * Renders form body. This is the method you should implement in your forms * instead of `.render()`. If you'd like to keep the submit button and the timestamps, * don't forget to add `super.renderBody()` to your template. */ renderBody(): TemplateResult; /** * Renders the entire form. You should probably implement `.renderBody()` * instead of this method in your form to keep the spinner and the common layout features. */ render(): TemplateResult; private get __generalErrors(); private __renderGeneralError; private __renderStatus; } export {};