type Sections = { start: number; end: number; value: string; editable: boolean; }; /** * 何らかのフォーマットで入ってくる日付を開始位置と終了位置と値を持つセクションに分割する * useDateField で format された日付操作を汎用的に行うために必要なプロパティを返す * 例) 2023-01-02 -> [ * { start: 0, end: 3, value: "2023", editable: true }, * { start: 4, end: 4, value: "-", editable: false }, * { start: 5, end: 6, value: "01", editable: true }, * { start: 7, end: 7, value: "-", editable: false }, * { start: 8, end: 9, value: "02", editable: true } * ] * * @param formattedDate 何らかのフォーマットで入ってくる日付 * @returns 開始位置と終了位置と値を持つセクション */ export declare const getSections: (formattedDate?: string | null) => Sections[]; /** * 開始位置と終了位置と値を持つセクションをフォーマットされた日付に変換する */ export declare const formatString: (sectionsWithCharacter: Sections[]) => string; /** * セクションの種類を判定する * * セクションとは、日付フォーマットを編集可能な部分に分割した単位のことです。 * 例: "2023-01-02" -> [ * { value: "2023", editable: true }, // 年セクション * { value: "-", editable: false }, // 区切り文字 * { value: "01", editable: true }, // 月セクション * { value: "-", editable: false }, // 区切り文字 * { value: "02", editable: true } // 日セクション * ] * * @param sectionLength セクションの値の長さ * @param format 日付フォーマット * @param sectionIndex セクションのインデックス * @returns "year" | "month" | "day" | "unknown" */ export declare const getSectionType: (sectionLength: number, format: string, sectionIndex: number) => "year" | "month" | "day" | "unknown"; /** * 入力が確定すべきかを判定 * * セクションの種類に応じて、1桁目の入力で確定すべきかを判定します。 * - 年: 4桁入力完了で確定 * - 月: 1桁目が2-9なら即確定、0-1なら2桁目待ち * - 日: 1桁目が4-9なら即確定、0-3なら2桁目待ち * * @param inputNumber 入力された数字 * @param keyDownCount 現在の入力カウント * @param sectionType セクションの種類(年・月・日) * @param sectionLength セクションの値の長さ * @returns true: 確定して次のセクションへ移動, false: まだ入力を受け付ける */ export declare const shouldMoveToNextSection: (inputNumber: string, keyDownCount: number, sectionType: "year" | "month" | "day" | "unknown", sectionLength: number) => boolean; export {};