import type { Rule } from 'eslint'; /** * The parts a person types into to send something. `Field` is the labelled * row; `TextInput` and `Textarea` are judged on their own only in a file that * draws no `Field`, so a field is reported once, at its label. */ export declare const FIELD_PARTS: readonly ["Field", "TextInput", "Textarea"]; /** The parts that are a `Form`: the package's own, and the palette's form level, which is one (UIG-29). */ export declare const FORM_PARTS: readonly ["Form", "CommandPaletteForm"]; /** * A field outside a `Form` (Katerina, 1 October, after Peek's and Ship's * Archive dialog: a resolution typed into a `ConfirmDialog`, sent by its * button, with no form around it — Ctrl+Enter did nothing, and the field * stayed open while it archived). * * `Form` owns what a field needs to be sent: Enter and Ctrl+Enter, `busy` * switching every field off at once, and where focus goes after. A field * outside one has none of it, and the dialog around it is the wrong one: a * question with a field in it is a `DialogShell` with a `Form` * (ConfirmDialog's page, **When not**). * * Judged: a `Field`, a `TextInput` or a `Textarea` of the package (or an * app's re-export or wrapper of one) with no `Form` around it in the same * file. Not judged, on purpose: * * - `EditableText` and `SearchInput`: one saves itself as you leave it, the * other filters a list, and neither is sent (Form's page, **When not**); * - a `TextInput` or `Textarea` in a file that draws a `Field`: the `Field` * is reported, and a control handed to it from a function of its own (a * `switch` over field kinds) cannot be followed to it; * - the app's own components: a component that draws a field for a form its * caller holds says so with an escape on the field, naming that caller. */ export declare const noFieldOutsideAForm: Rule.RuleModule; //# sourceMappingURL=no-field-outside-a-form.d.ts.map