import { Schema } from 'effect';
import type { Environment } from '../../vendor/cel-js/lib/index.js';
import { type ActionsConfigValue } from '../actions/schema.js';
import { type FormConfigValue } from '../form/schema.js';
export { getStructFieldTitle, getStructFieldDescription } from './utils/schema-meta.js';
declare const KIND = "shwfed.component.table";
export declare const metadata: {
    readonly name: "表格";
    readonly icon: "fluent:table-20-regular";
    readonly operations: readonly [{
        readonly id: "reset-query";
        readonly name: "重置搜索条件";
        readonly icon: "fluent:arrow-reset-20-regular";
    }, {
        readonly id: "reset-pagination";
        readonly name: "重置分页并执行搜索";
        readonly icon: "fluent:arrow-previous-20-regular";
    }, {
        readonly id: "search";
        readonly name: "执行搜索";
        readonly icon: "fluent:search-20-regular";
    }, {
        readonly id: "clear-selection";
        readonly name: "清空所有选中行";
        readonly icon: "fluent:select-all-off-20-regular";
    }, {
        readonly id: "add-row";
        readonly name: "新增一行";
        readonly icon: "fluent:add-20-regular";
    }, {
        readonly id: "duplicate-selected";
        readonly name: "复制选中行";
        readonly icon: "fluent:copy-20-regular";
    }, {
        readonly id: "delete-selected";
        readonly name: "删除选中行";
        readonly icon: "fluent:delete-20-regular";
    }];
};
declare const InitialState: 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>>;
}>;
export declare const Pagination: Schema.Struct<{
    pageSize: Schema.refine<number, Schema.filter<typeof Schema.Number>>;
    pageSizes: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<typeof Schema.Number>>>>;
    pageIndex: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
    left: 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>;
    }>]>>;
    right: 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>;
    }>]>>;
}>;
export declare const ColumnGroup: Schema.Struct<{
    id: Schema.refine<string, typeof Schema.String>;
    title: 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>;
    }>]>>;
}>;
export declare function configureTableActionsScope(env: Environment, configure: (env: Environment) => void): void;
export declare function registerDataSourceRequestVars(env: Environment): void;
export declare function registerDataSourceResponseVars(env: Environment): void;
export declare function DataSource(configure: (env: Environment) => void, extras?: {
    request?: (env: Environment) => void;
    data?: (env: Environment) => void;
}): Schema.Struct<{
    request: Schema.optional<Schema.Schema<string, string, never>>;
    data: Schema.Schema<string, string, never>;
}>;
export declare function tableDataSource(configure: (env: Environment) => void): Schema.Struct<{
    request: Schema.optional<Schema.Schema<string, string, never>>;
    data: Schema.Schema<string, string, never>;
    total: Schema.optional<Schema.Schema<string, string, never>>;
}>;
export declare function TableConfig(configure: (env: Environment) => void): Schema.refine<{
    readonly style?: string | undefined;
    readonly id?: string | undefined;
    readonly displayName?: string | undefined;
    readonly columns: readonly any[];
    readonly kind: "shwfed.component.table";
    readonly groups: readonly {
        readonly id: string;
        readonly title?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
        readonly tooltip?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
    }[];
    readonly query?: {
        readonly style?: string | undefined;
        readonly id?: string | undefined;
        readonly initial?: {
            readonly data: string;
            readonly request?: string | undefined;
        } | undefined;
        readonly displayName?: string | undefined;
        readonly kind: "shwfed.component.form";
        readonly fields: readonly any[];
        readonly layouts: readonly {
            readonly name: string;
            readonly layout: {
                readonly style?: string | undefined;
                readonly columns: number;
                readonly gap?: number | undefined;
                readonly rows?: number | undefined;
                readonly placements: {
                    readonly [x: string]: {
                        readonly area: readonly [readonly [number, number], readonly [number, number]];
                        readonly v?: "stretch" | "center" | "end" | "start" | undefined;
                        readonly h?: "stretch" | "center" | "end" | "start" | undefined;
                    };
                };
            };
            readonly media?: string | undefined;
        }[];
        readonly readonly?: string | undefined;
    } | undefined;
    readonly dataSource?: {
        readonly data: string;
        readonly request?: string | undefined;
        readonly total?: string | undefined;
    } | undefined;
    readonly actions?: {
        readonly size: "default" | "sm" | "xs";
        readonly style?: string | undefined;
        readonly gap: number;
        readonly items: readonly (import("../actions/schema.js").RegistryItemValue | {
            readonly disabled?: string | undefined;
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly icon?: string | undefined;
            readonly hidden?: string | undefined;
            readonly tooltip?: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]] | undefined;
            readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
            readonly action?: any;
            readonly groupId: string;
            readonly hideTitle?: boolean | undefined;
        } | {
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly icon?: string | undefined;
            readonly items: readonly (import("../actions/schema.js").RegistrySubItemValue | {
                readonly disabled?: string | undefined;
                readonly id: string;
                readonly title: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]];
                readonly icon?: string | undefined;
                readonly hidden?: string | undefined;
                readonly tooltip?: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]] | undefined;
                readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
                readonly action?: any;
            })[];
            readonly groupId: string;
            readonly hideTitle?: boolean | undefined;
        })[];
        readonly groups: readonly {
            readonly id: string;
            readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
        }[];
    } | undefined;
    readonly rowKey?: string | undefined;
    readonly cellStyle?: string | undefined;
    readonly pagination?: {
        readonly left?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
        readonly right?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
        readonly pageSize: number;
        readonly pageSizes?: readonly number[] | undefined;
        readonly pageIndex?: number | undefined;
    } | undefined;
    readonly persistQuery?: boolean | undefined;
    readonly initialState?: {
        readonly expanded?: boolean | {
            readonly [x: string]: boolean;
        } | undefined;
        readonly columnVisibility?: {
            readonly [x: string]: boolean;
        } | undefined;
        readonly columnOrder?: readonly string[] | undefined;
        readonly columnPinning?: {
            readonly left?: readonly string[] | undefined;
            readonly right?: readonly string[] | undefined;
        } | undefined;
        readonly rowPinning?: {
            readonly bottom?: readonly string[] | undefined;
            readonly top?: readonly string[] | undefined;
        } | undefined;
        readonly sorting?: readonly {
            readonly id: string;
            readonly desc: boolean;
        }[] | undefined;
        readonly grouping?: readonly string[] | undefined;
        readonly columnSizing?: {
            readonly [x: string]: number;
        } | undefined;
        readonly rowSelection?: {
            readonly [x: string]: boolean;
        } | undefined;
    } | undefined;
}, Schema.Struct<{
    kind: Schema.tag<"shwfed.component.table">;
    id: Schema.optional<Schema.refine<string, typeof Schema.String>>;
    displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
    columns: Schema.Array$<Schema.Schema<any, any, never>>;
    groups: Schema.optionalWith<Schema.Array$<Schema.Struct<{
        id: Schema.refine<string, typeof Schema.String>;
        title: 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>;
        }>]>>;
    }>>, {
        default: () => never[];
    }>;
    dataSource: Schema.optional<Schema.Struct<{
        request: Schema.optional<Schema.Schema<string, string, never>>;
        data: Schema.Schema<string, string, never>;
        total: Schema.optional<Schema.Schema<string, string, never>>;
    }>>;
    actions: Schema.optional<Schema.Struct<{
        size: Schema.optionalWith<Schema.Literal<["default", "sm", "xs"]>, {
            default: () => "default";
        }>;
        gap: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
            default: () => number;
        }>;
        style: Schema.optional<typeof Schema.String>;
        groups: Schema.Array$<Schema.Struct<{
            id: Schema.refine<string, typeof Schema.String>;
            variant: Schema.optional<Schema.Literal<["default", "primary", "destructive", "ghost", "link"]>>;
        }>>;
        items: Schema.Array$<Schema.Schema<import("../actions/schema.js").RegistryItemValue | {
            readonly disabled?: string | undefined;
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly icon?: string | undefined;
            readonly hidden?: string | undefined;
            readonly tooltip?: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]] | undefined;
            readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
            readonly action?: any;
            readonly groupId: string;
            readonly hideTitle?: boolean | undefined;
        } | {
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly icon?: string | undefined;
            readonly items: readonly (import("../actions/schema.js").RegistrySubItemValue | {
                readonly disabled?: string | undefined;
                readonly id: string;
                readonly title: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]];
                readonly icon?: string | undefined;
                readonly hidden?: string | undefined;
                readonly tooltip?: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]] | undefined;
                readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
                readonly action?: any;
            })[];
            readonly groupId: string;
            readonly hideTitle?: boolean | undefined;
        }, import("../actions/schema.js").RegistryItemValue | {
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly groupId: string;
            readonly disabled?: string | undefined;
            readonly icon?: string | undefined;
            readonly hidden?: string | undefined;
            readonly tooltip?: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]] | undefined;
            readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
            readonly action?: any;
            readonly hideTitle?: boolean | undefined;
        } | {
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly items: readonly (import("../actions/schema.js").RegistrySubItemValue | {
                readonly id: string;
                readonly title: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]];
                readonly disabled?: string | undefined;
                readonly icon?: string | undefined;
                readonly hidden?: string | undefined;
                readonly tooltip?: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]] | undefined;
                readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
                readonly action?: any;
            })[];
            readonly groupId: string;
            readonly icon?: string | undefined;
            readonly hideTitle?: boolean | undefined;
        }, never>>;
    }>>;
    query: Schema.optional<Schema.refine<{
        readonly style?: string | undefined;
        readonly id?: string | undefined;
        readonly initial?: {
            readonly data: string;
            readonly request?: string | undefined;
        } | undefined;
        readonly displayName?: string | undefined;
        readonly kind: "shwfed.component.form";
        readonly fields: readonly any[];
        readonly layouts: readonly {
            readonly name: string;
            readonly layout: {
                readonly style?: string | undefined;
                readonly columns: number;
                readonly gap?: number | undefined;
                readonly rows?: number | undefined;
                readonly placements: {
                    readonly [x: string]: {
                        readonly area: readonly [readonly [number, number], readonly [number, number]];
                        readonly v?: "stretch" | "center" | "end" | "start" | undefined;
                        readonly h?: "stretch" | "center" | "end" | "start" | undefined;
                    };
                };
            };
            readonly media?: string | undefined;
        }[];
        readonly readonly?: string | undefined;
    }, Schema.Struct<{
        fields: Schema.Array$<Schema.Schema<any, any, never>>;
        layouts: Schema.refine<readonly {
            readonly name: string;
            readonly layout: {
                readonly style?: string | undefined;
                readonly columns: number;
                readonly gap?: number | undefined;
                readonly rows?: number | undefined;
                readonly placements: {
                    readonly [x: string]: {
                        readonly area: readonly [readonly [number, number], readonly [number, number]];
                        readonly v?: "stretch" | "center" | "end" | "start" | undefined;
                        readonly h?: "stretch" | "center" | "end" | "start" | undefined;
                    };
                };
            };
            readonly media?: string | undefined;
        }[], Schema.Array$<Schema.Struct<{
            name: Schema.SchemaClass<string, string, never>;
            media: Schema.optional<Schema.Schema<string, string, never>>;
            layout: Schema.Struct<{
                columns: Schema.refine<number, Schema.filter<typeof Schema.Number>>;
                rows: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
                gap: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
                style: Schema.optional<Schema.SchemaClass<string, string, never>>;
                placements: Schema.Record$<typeof Schema.String, Schema.Struct<{
                    area: Schema.refine<readonly [readonly [number, number], readonly [number, number]], Schema.Tuple2<Schema.Tuple2<Schema.filter<Schema.filter<typeof Schema.Number>>, Schema.filter<Schema.filter<typeof Schema.Number>>>, Schema.Tuple2<Schema.filter<Schema.filter<typeof Schema.Number>>, Schema.filter<Schema.filter<typeof Schema.Number>>>>>;
                    h: Schema.optional<Schema.Literal<["start", "center", "end", "stretch"]>>;
                    v: Schema.optional<Schema.Literal<["start", "center", "end", "stretch"]>>;
                }>>;
            }>;
        }>>>;
        kind: Schema.tag<"shwfed.component.form">;
        id: Schema.optional<Schema.refine<string, typeof Schema.String>>;
        displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
        initial: Schema.optional<Schema.transform<Schema.Union<[Schema.Schema<string, string, never>, Schema.Struct<{
            request: Schema.optional<Schema.Schema<string, string, never>>;
            data: Schema.Schema<string, string, never>;
        }>]>, Schema.Struct<{
            request: Schema.optional<Schema.Schema<string, string, never>>;
            data: Schema.Schema<string, string, never>;
        }>>>;
        readonly: Schema.optional<Schema.Schema<string, string, never>>;
        style: Schema.optional<typeof Schema.String>;
    }>>>;
    rowKey: Schema.optional<Schema.Schema<string, string, never>>;
    cellStyle: Schema.optional<Schema.Schema<string, string, never>>;
    style: Schema.optional<typeof Schema.String>;
    pagination: Schema.optional<Schema.Struct<{
        pageSize: Schema.refine<number, Schema.filter<typeof Schema.Number>>;
        pageSizes: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<typeof Schema.Number>>>>;
        pageIndex: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
        left: 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>;
        }>]>>;
        right: 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>;
        }>]>>;
    }>>;
    persistQuery: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
    initialState: Schema.optional<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>>;
    }>>;
}>>;
export declare function createTableConfig(body: Omit<Schema.Schema.Type<ReturnType<typeof TableConfig>>, 'kind'>): {
    style?: string | undefined;
    id?: string | undefined;
    displayName?: string | undefined;
    columns: readonly any[];
    groups: readonly {
        readonly id: string;
        readonly title?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
        readonly tooltip?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
    }[];
    query?: {
        readonly style?: string | undefined;
        readonly id?: string | undefined;
        readonly initial?: {
            readonly data: string;
            readonly request?: string | undefined;
        } | undefined;
        readonly displayName?: string | undefined;
        readonly kind: "shwfed.component.form";
        readonly fields: readonly any[];
        readonly layouts: readonly {
            readonly name: string;
            readonly layout: {
                readonly style?: string | undefined;
                readonly columns: number;
                readonly gap?: number | undefined;
                readonly rows?: number | undefined;
                readonly placements: {
                    readonly [x: string]: {
                        readonly area: readonly [readonly [number, number], readonly [number, number]];
                        readonly v?: "stretch" | "center" | "end" | "start" | undefined;
                        readonly h?: "stretch" | "center" | "end" | "start" | undefined;
                    };
                };
            };
            readonly media?: string | undefined;
        }[];
        readonly readonly?: string | undefined;
    } | undefined;
    dataSource?: {
        readonly data: string;
        readonly request?: string | undefined;
        readonly total?: string | undefined;
    } | undefined;
    actions?: {
        readonly size: "default" | "sm" | "xs";
        readonly style?: string | undefined;
        readonly gap: number;
        readonly items: readonly (import("../actions/schema.js").RegistryItemValue | {
            readonly disabled?: string | undefined;
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly icon?: string | undefined;
            readonly hidden?: string | undefined;
            readonly tooltip?: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]] | undefined;
            readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
            readonly action?: any;
            readonly groupId: string;
            readonly hideTitle?: boolean | undefined;
        } | {
            readonly id: string;
            readonly title: readonly [{
                readonly locale: "zh";
                readonly message: string;
            }, ...{
                readonly locale: "en" | "ja" | "ko";
                readonly message: string;
            }[]];
            readonly icon?: string | undefined;
            readonly items: readonly (import("../actions/schema.js").RegistrySubItemValue | {
                readonly disabled?: string | undefined;
                readonly id: string;
                readonly title: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]];
                readonly icon?: string | undefined;
                readonly hidden?: string | undefined;
                readonly tooltip?: readonly [{
                    readonly locale: "zh";
                    readonly message: string;
                }, ...{
                    readonly locale: "en" | "ja" | "ko";
                    readonly message: string;
                }[]] | undefined;
                readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
                readonly action?: any;
            })[];
            readonly groupId: string;
            readonly hideTitle?: boolean | undefined;
        })[];
        readonly groups: readonly {
            readonly id: string;
            readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
        }[];
    } | undefined;
    rowKey?: string | undefined;
    cellStyle?: string | undefined;
    pagination?: {
        readonly left?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
        readonly right?: readonly [{
            readonly locale: "zh";
            readonly message: string;
        }, ...{
            readonly locale: "en" | "ja" | "ko";
            readonly message: string;
        }[]] | undefined;
        readonly pageSize: number;
        readonly pageSizes?: readonly number[] | undefined;
        readonly pageIndex?: number | undefined;
    } | undefined;
    persistQuery?: boolean | undefined;
    initialState?: {
        readonly expanded?: boolean | {
            readonly [x: string]: boolean;
        } | undefined;
        readonly columnVisibility?: {
            readonly [x: string]: boolean;
        } | undefined;
        readonly columnOrder?: readonly string[] | undefined;
        readonly columnPinning?: {
            readonly left?: readonly string[] | undefined;
            readonly right?: readonly string[] | undefined;
        } | undefined;
        readonly rowPinning?: {
            readonly bottom?: readonly string[] | undefined;
            readonly top?: readonly string[] | undefined;
        } | undefined;
        readonly sorting?: readonly {
            readonly id: string;
            readonly desc: boolean;
        }[] | undefined;
        readonly grouping?: readonly string[] | undefined;
        readonly columnSizing?: {
            readonly [x: string]: number;
        } | undefined;
        readonly rowSelection?: {
            readonly [x: string]: boolean;
        } | undefined;
    } | undefined;
    kind: typeof KIND;
};
export declare function defaultTableConfig(): TableConfigValue;
export declare function getColumnTechnicalKey(column: Schema.Schema.Type<ReturnType<typeof TableConfig>>['columns'][number]): string;
export type ColumnValue = Readonly<{
    id: string;
    groupId?: string;
    type: string;
    compatibilityDate: string;
}> & Readonly<Record<string, unknown>>;
export type ColumnGroupValue = Schema.Schema.Type<typeof ColumnGroup>;
export type DataSourceValue = Readonly<{
    request?: string;
    data: string;
    total?: string;
}>;
export type TableActionsValue = Omit<ActionsConfigValue, 'kind'>;
export type TableConfigValue = Readonly<{
    kind: typeof KIND;
    id?: string;
    displayName?: string;
    columns: ReadonlyArray<ColumnValue>;
    groups: ReadonlyArray<ColumnGroupValue>;
    dataSource?: DataSourceValue;
    actions?: TableActionsValue;
    query?: FormConfigValue;
    rowKey?: string;
    cellStyle?: string;
    style?: string;
    pagination?: Schema.Schema.Type<typeof Pagination>;
    persistQuery?: boolean;
    initialState?: Schema.Schema.Type<typeof InitialState>;
}>;
export type PaginationValue = Schema.Schema.Type<typeof Pagination>;
export type InitialStateValue = Schema.Schema.Type<typeof InitialState>;
