import { type HandlerEvent } from "@godown/element"; import { type TemplateResult } from "lit"; import { SuperInput } from "../../internal/super-input.js"; /** * {@linkcode Split} renders multiple input boxes. * * Input: will move the focus box backward until the complete input from start to end. * * Delete: will move the focus box forward until the first and no inputs for each. * * @fires input - Fires when the input value changes. * @fires change - Fires when the input value changes. * @fires focus - Fires when the input is focused. * @fires blur - Fires when the input is blurred. * @category input */ declare class Split extends SuperInput { /** * The number of input boxes. */ len: number; /** * Focus index. */ index: number; current: number; currentValue: (string | void)[]; constructor(); get observedRecord(): Record; protected render(): TemplateResult<1>; connectedCallback(): void; protected _handleInput(e: HandlerEvent): void; /** * Fill input with data. * * If data is null * - If current value is null, move to before. * - If current value is not null, delete it. * * If data is not null * - If current value is null, input data. * - If current value is not null, input data and move to after. * * If data is multiple characters, * Fill input with data[0] and call fillInput with data.slice(1). * * @param data Input event data. */ protected fillInput(data: string | null): void; focus(): void; focusAt(i: number): void; blur(): void; reset(): void; } export default Split; export { Split };