import * as React from 'react';
import { type VariantProps } from 'class-variance-authority';
import type { FieldMode, FieldVariant } from '../../components/Field/field-types';
/**
 * Textarea — 多行文字輸入
 *
 * ── 定位 ────────────────────────────────────────────────────────────────
 * 多行版本的 Input，edit / display / readonly / disabled 四態與 Input 邏輯一致(Phase B1 2026-05-05)。
 * 不同於 Input：
 *   - 沒有固定 field-height（高度由 rows 或 min-h 決定）
 *   - 沒有 startIcon / endAction（textarea 慣例不放 icon）
 *   - readonly 呈現保留邊框與 padding，只改底色，讓多行文字有合理閱讀區
 *   - display 渲染 <div> + white-space:pre-wrap 保留多行文本
 *
 * ── Padding 規則 ───────────────────────────────────────────────────────
 * 多行內容必須有上下內距才能閱讀舒適。不沿用 Input 的 items-center，
 * 改用 py-2（8px）固定上下內距 + px-3 左右內距（與 Input 一致）。
 *
 * ── Size ────────────────────────────────────────────────────────────────
 * sm / md → text-body（14px）
 * lg      → text-body-lg（16px）
 *
 * ── rows / min-h ───────────────────────────────────────────────────────
 * 預設 rows={3}。消費者可透過 rows prop 調整，或透過 min-h-* className 覆寫。
 */
declare const textareaVariants: (props?: ({
    mode?: "display" | "disabled" | "edit" | "readonly" | null | undefined;
    variant?: "default" | "bare" | "naked" | null | undefined;
    size?: "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>, Omit<VariantProps<typeof textareaVariants>, 'mode' | 'variant'> {
    /** Field display mode */
    mode?: FieldMode;
    /**
     * Visual chrome(正交於 mode);Phase B1(2026-05-05)新增。透傳自 FieldContext.variant,per-prop override。
     * - `'default'` — 完整 chrome(form 場景)
     * - `'bare'` — 透明 variant,hover/focus 才 reveal inner border(toolbar / inline editing)
     * - `'naked'` — 完全無 chrome,cell-as-input(host cell 提供 border + focus frame,對齊 Airtable / Notion / Excel cell editing)
     */
    variant?: FieldVariant;
    /** Error 狀態（正交於 mode）。border-error + aria-invalid。 */
    error?: boolean;
}
declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
export declare const textareaMeta: {
    readonly component: "Textarea";
    readonly family: 4;
    readonly variants: {};
    readonly sizes: {
        readonly sm: {
            readonly typography: "body";
        };
        readonly md: {
            readonly typography: "body";
        };
        readonly lg: {
            readonly typography: "body-lg";
        };
    };
    readonly states: readonly ["default", "hover", "focus-visible", "readonly", "disabled", "error"];
    readonly tokens: {
        readonly bg: readonly ["bg-disabled", "bg-surface"];
        readonly fg: readonly ["text-fg-disabled", "text-fg-muted", "text-foreground"];
        readonly ring: readonly [];
    };
    readonly defaultSize: "md";
};
export { Textarea, textareaVariants };
//# sourceMappingURL=textarea.d.ts.map