import { Schema } from 'effect';
import type { ColumnDef } from '@tanstack/vue-table';
import type { Environment } from '../../../../../vendor/cel-js/lib/index.js';
import { registerRowVariablesIfAbsent } from '../../../utils/shared.js';
import type { ColumnDefDeps } from '../../../utils/resolve.js';
export declare const type: "com.shwfed.table.column.actions";
export declare const compatibilityDate: "2026-04-14";
export declare const metadata: {
    readonly name: "操作";
    readonly icon: "fluent:cursor-click-20-regular";
};
export declare const registerRowVariables: typeof registerRowVariablesIfAbsent;
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
    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>>;
    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>;
    }>]>>;
    size: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
    grow: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
    id: Schema.refine<string, typeof Schema.String>;
    groupId: Schema.optional<typeof Schema.UUID>;
    type: Schema.Literal<["com.shwfed.table.column.actions"]>;
    compatibilityDate: Schema.Literal<["2026-04-14"]>;
}>;
export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
export declare function defaults(): Partial<Value>;
export declare function toColumnDef(value: Value, { getLocaleText }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
