import { Schema } from 'effect';
import type { Environment } from '../../../../../vendor/cel-js/lib/index.js';
export declare const type: "com.shwfed.form.field.table";
export declare const compatibilityDate: "2026-05-18";
export declare const metadata: {
    readonly name: "表格";
    readonly icon: "fluent:table-20-regular";
    readonly w: {
        readonly initial: 12;
        readonly min: 6;
        readonly max: number;
    };
    readonly h: {
        readonly initial: 10;
        readonly min: 5;
        readonly max: number;
        readonly grow: true;
    };
    readonly inlineConfig: false;
};
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
    label: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
        locale: Schema.Literal<["zh"]>;
        message: Schema.SchemaClass<string, string, never>;
    }>], [Schema.Struct<{
        locale: Schema.Literal<["ja", "en", "ko"]>;
        message: Schema.SchemaClass<string, string, never>;
    }>]>>;
    tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
        locale: Schema.Literal<["zh"]>;
        message: Schema.SchemaClass<string, string, never>;
    }>], [Schema.Struct<{
        locale: Schema.Literal<["ja", "en", "ko"]>;
        message: Schema.SchemaClass<string, string, never>;
    }>]>>;
    binding: Schema.optional<Schema.refine<string, typeof Schema.String>>;
    table: Schema.suspend<Readonly<{
        kind: "shwfed.component.table";
        id?: string;
        displayName?: string;
        columns: ReadonlyArray<import("../../../../table/schema.js").ColumnValue>;
        groups: ReadonlyArray<import("../../../../table/schema.js").ColumnGroupValue>;
        dataSource?: import("../../../../table/schema.js").DataSourceValue;
        actions?: import("../../../../table/schema.js").TableActionsValue;
        query?: import("../../../schema.js").FormConfigValue;
        rowKey?: string;
        cellStyle?: string;
        style?: string;
        pagination?: Schema.Schema.Type<typeof import("../../../../table/schema.js").Pagination>;
        persistQuery?: boolean;
        initialState?: Schema.Schema.Type<Schema.Struct<{
            columnVisibility: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Boolean>>;
            columnOrder: Schema.optional<Schema.Array$<typeof Schema.String>>;
            columnPinning: Schema.optional<Schema.Struct<{
                left: Schema.optional<Schema.Array$<typeof Schema.String>>;
                right: Schema.optional<Schema.Array$<typeof Schema.String>>;
            }>>;
            rowPinning: Schema.optional<Schema.Struct<{
                top: Schema.optional<Schema.Array$<typeof Schema.String>>;
                bottom: Schema.optional<Schema.Array$<typeof Schema.String>>;
            }>>;
            sorting: Schema.optional<Schema.Array$<Schema.Struct<{
                id: Schema.SchemaClass<string, string, never>;
                desc: Schema.optionalWith<typeof Schema.Boolean, {
                    default: () => false;
                }>;
            }>>>;
            expanded: Schema.optional<Schema.Union<[typeof Schema.Boolean, Schema.Record$<typeof Schema.String, typeof Schema.Boolean>]>>;
            grouping: Schema.optional<Schema.Array$<typeof Schema.String>>;
            columnSizing: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
            rowSelection: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Boolean>>;
        }>>;
    }>, Readonly<{
        kind: "shwfed.component.table";
        id?: string;
        displayName?: string;
        columns: ReadonlyArray<import("../../../../table/schema.js").ColumnValue>;
        groups: ReadonlyArray<import("../../../../table/schema.js").ColumnGroupValue>;
        dataSource?: import("../../../../table/schema.js").DataSourceValue;
        actions?: import("../../../../table/schema.js").TableActionsValue;
        query?: import("../../../schema.js").FormConfigValue;
        rowKey?: string;
        cellStyle?: string;
        style?: string;
        pagination?: Schema.Schema.Type<typeof import("../../../../table/schema.js").Pagination>;
        persistQuery?: boolean;
        initialState?: Schema.Schema.Type<Schema.Struct<{
            columnVisibility: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Boolean>>;
            columnOrder: Schema.optional<Schema.Array$<typeof Schema.String>>;
            columnPinning: Schema.optional<Schema.Struct<{
                left: Schema.optional<Schema.Array$<typeof Schema.String>>;
                right: Schema.optional<Schema.Array$<typeof Schema.String>>;
            }>>;
            rowPinning: Schema.optional<Schema.Struct<{
                top: Schema.optional<Schema.Array$<typeof Schema.String>>;
                bottom: Schema.optional<Schema.Array$<typeof Schema.String>>;
            }>>;
            sorting: Schema.optional<Schema.Array$<Schema.Struct<{
                id: Schema.SchemaClass<string, string, never>;
                desc: Schema.optionalWith<typeof Schema.Boolean, {
                    default: () => false;
                }>;
            }>>>;
            expanded: Schema.optional<Schema.Union<[typeof Schema.Boolean, Schema.Record$<typeof Schema.String, typeof Schema.Boolean>]>>;
            grouping: Schema.optional<Schema.Array$<typeof Schema.String>>;
            columnSizing: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
            rowSelection: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Boolean>>;
        }>>;
    }>, never>;
    id: Schema.refine<string, typeof Schema.String>;
    displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
    hidden: Schema.optional<Schema.Schema<string, string, never>>;
    required: Schema.optional<Schema.Schema<string, string, never>>;
    validations: Schema.optional<Schema.Array$<Schema.Struct<{
        when: Schema.Schema<string, string, never>;
        warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
        message: Schema.refine<readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]], Schema.TupleType<readonly [Schema.Struct<{
            locale: Schema.Literal<["zh"]>;
            message: Schema.SchemaClass<string, string, never>;
        }>], [Schema.Struct<{
            locale: Schema.Literal<["ja", "en", "ko"]>;
            message: Schema.SchemaClass<string, string, never>;
        }>]>>;
    }>>>;
    type: Schema.Literal<["com.shwfed.form.field.table"]>;
    compatibilityDate: Schema.Literal<["2026-05-18"]>;
}>;
export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
export declare function defaults(): Partial<Value>;
