import { ISchema, Schema } from '@tachybase/schema';
import { DataSource, SchemaInitializerItemType } from '../';
import { Collection, CollectionFieldOptions } from '../data-source/collection/Collection';
export declare const itemsMerge: (items1: any) => any;
export declare const gridRowColWrap: (schema: ISchema) => {
    type: string;
    'x-component': string;
    properties: {
        [x: string]: {
            type: string;
            'x-component': string;
            properties: {
                [x: string]: import("@tachybase/schema").Stringify<{
                    [key: symbol]: any;
                    [key: `x-${string}`]: any;
                    [key: `x-${number}`]: any;
                    version?: string;
                    name?: import("@tachybase/schema").SchemaKey;
                    title?: any;
                    description?: any;
                    default?: any;
                    readOnly?: boolean;
                    writeOnly?: boolean;
                    type?: import("@tachybase/schema").SchemaTypes;
                    enum?: import("@tachybase/schema").SchemaEnum<any>;
                    const?: any;
                    multipleOf?: number;
                    maximum?: number;
                    exclusiveMaximum?: number;
                    minimum?: number;
                    exclusiveMinimum?: number;
                    maxLength?: number;
                    minLength?: number;
                    pattern?: string | RegExp;
                    maxItems?: number;
                    minItems?: number;
                    uniqueItems?: boolean;
                    maxProperties?: number;
                    minProperties?: number;
                    required?: string[] | boolean | string;
                    format?: string;
                    $ref?: string;
                    $namespace?: string;
                    definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
                    properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
                    items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
                    additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
                    patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
                    additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
                    "x-value"?: any;
                    "x-index"?: number;
                    "x-pattern"?: any;
                    "x-display"?: any;
                    "x-validator"?: any;
                    "x-decorator"?: any;
                    "x-decorator-props"?: any;
                    "x-component"?: any;
                    "x-component-props"?: any;
                    "x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
                    "x-content"?: any;
                    "x-data"?: any;
                    "x-visible"?: boolean;
                    "x-hidden"?: boolean;
                    "x-disabled"?: boolean;
                    "x-editable"?: boolean;
                    "x-read-only"?: boolean;
                    "x-read-pretty"?: boolean;
                    "x-compile-omitted"?: string[];
                }>;
            };
        };
    };
};
export declare const removeTableColumn: (schema: any, cb: any) => void;
export declare const removeGridFormItem: (schema: any, cb: any) => void;
export declare const useRemoveGridFormItem: () => (schema: any, cb: any) => void;
export declare const findTableColumn: (schema: Schema, key: string, action: string, deepth?: number) => unknown;
export declare const useTableColumnInitializerFields: () => SchemaInitializerItemType[];
export declare const useAssociatedTableColumnInitializerFields: () => SchemaInitializerItemType[];
export declare const useInheritsTableColumnInitializerFields: () => {
    [x: string]: SchemaInitializerItemType[];
}[];
export declare const useFormItemInitializerFields: (options?: any) => SchemaInitializerItemType[];
export declare const useFilterFormItemInitializerFields: (options?: any) => SchemaInitializerItemType[];
export declare const useAssociatedFormItemInitializerFields: (options?: any) => SchemaInitializerItemType[];
export declare const useFilterAssociatedFormItemInitializerFields: () => SchemaInitializerItemType[];
export declare const useInheritsFormItemInitializerFields: (options?: any) => {
    [x: string]: SchemaInitializerItemType[];
}[];
export declare const useFilterInheritsFormItemInitializerFields: (options?: any) => {
    [x: string]: SchemaInitializerItemType[];
}[];
export declare const useCustomFormItemInitializerFields: (options?: any) => SchemaInitializerItemType[];
export declare const findSchema: (schema: Schema, key: string, action: string) => any;
export declare const useCurrentSchema: (action: string, key: string, find?: (schema: Schema, key: string, action: string) => any, rm?: (schema: any, cb: any) => any) => {
    schema: any;
    exists: boolean;
    remove(): void;
};
/**
 * @deprecated
 * 待统一卡片的创建之后，将废弃该方法
 */
export declare const useRecordCollectionDataSourceItems: (componentName: any, item?: any, collectionName?: any, resourceName?: any) => ({
    key: string;
    type: string;
    name: string;
    title: string;
    item: any;
    children?: undefined;
} | {
    type: string;
    key?: undefined;
    name?: undefined;
    title?: undefined;
    item?: undefined;
    children?: undefined;
} | {
    key: string;
    type: string;
    name: string;
    title: string;
    children: any;
    item?: undefined;
})[];
export declare const useCollectionDataSourceItems: ({ componentName, filter, onlyCurrentDataSource, showAssociationFields, filterDataSource, dataBlockInitializerProps, hideOtherRecordsInPopup, }: {
    componentName: any;
    filter?: (options: {
        collection?: Collection;
        associationField?: CollectionFieldOptions;
    }) => boolean;
    onlyCurrentDataSource?: boolean;
    showAssociationFields?: boolean;
    filterDataSource?: (dataSource?: DataSource) => boolean;
    dataBlockInitializerProps?: any;
    /**
     * 隐藏弹窗中的 Other records 选项
     */
    hideOtherRecordsInPopup?: boolean;
}) => {
    name: string;
    label: string;
    type: string;
    children: any;
}[];
/**
 * @deprecated
 * 已弃用，请使用 createDetailsUISchema 和 createDetailsWithPaginationUISchema 替代
 * @param options
 * @returns
 */
export declare const createDetailsBlockSchema: (options: {
    collection: string;
    dataSource: string;
    rowKey?: string;
    formItemInitializers?: string;
    actionInitializers?: string;
    association?: string;
    template?: any;
    settings?: string;
    action?: string;
    [key: string]: any;
}) => import("@tachybase/schema").Stringify<{
    [key: symbol]: any;
    [key: `x-${string}`]: any;
    [key: `x-${number}`]: any;
    version?: string;
    name?: import("@tachybase/schema").SchemaKey;
    title?: any;
    description?: any;
    default?: any;
    readOnly?: boolean;
    writeOnly?: boolean;
    type?: import("@tachybase/schema").SchemaTypes;
    enum?: import("@tachybase/schema").SchemaEnum<any>;
    const?: any;
    multipleOf?: number;
    maximum?: number;
    exclusiveMaximum?: number;
    minimum?: number;
    exclusiveMinimum?: number;
    maxLength?: number;
    minLength?: number;
    pattern?: string | RegExp;
    maxItems?: number;
    minItems?: number;
    uniqueItems?: boolean;
    maxProperties?: number;
    minProperties?: number;
    required?: string[] | boolean | string;
    format?: string;
    $ref?: string;
    $namespace?: string;
    definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
    additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
    patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
    "x-value"?: any;
    "x-index"?: number;
    "x-pattern"?: any;
    "x-display"?: any;
    "x-validator"?: any;
    "x-decorator"?: any;
    "x-decorator-props"?: any;
    "x-component"?: any;
    "x-component-props"?: any;
    "x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
    "x-content"?: any;
    "x-data"?: any;
    "x-visible"?: boolean;
    "x-hidden"?: boolean;
    "x-disabled"?: boolean;
    "x-editable"?: boolean;
    "x-read-only"?: boolean;
    "x-read-pretty"?: boolean;
    "x-compile-omitted"?: string[];
}>;
/**
 * @deprecated
 * 已弃用，请使用 createCreateFormBlockUISchema 或者 createEditFormBlockUISchema 替代
 * @param options
 * @returns
 */
export declare const createFormBlockSchema: (options: {
    formItemInitializers?: string;
    actionInitializers?: string;
    collection: string;
    resource?: string;
    dataSource?: string;
    association?: string;
    action?: string;
    actions?: Record<string, any>;
    template?: any;
    title?: string;
    settings?: any;
    "x-designer"?: string;
    [key: string]: any;
}) => import("@tachybase/schema").Stringify<{
    [key: symbol]: any;
    [key: `x-${string}`]: any;
    [key: `x-${number}`]: any;
    version?: string;
    name?: import("@tachybase/schema").SchemaKey;
    title?: any;
    description?: any;
    default?: any;
    readOnly?: boolean;
    writeOnly?: boolean;
    type?: import("@tachybase/schema").SchemaTypes;
    enum?: import("@tachybase/schema").SchemaEnum<any>;
    const?: any;
    multipleOf?: number;
    maximum?: number;
    exclusiveMaximum?: number;
    minimum?: number;
    exclusiveMinimum?: number;
    maxLength?: number;
    minLength?: number;
    pattern?: string | RegExp;
    maxItems?: number;
    minItems?: number;
    uniqueItems?: boolean;
    maxProperties?: number;
    minProperties?: number;
    required?: string[] | boolean | string;
    format?: string;
    $ref?: string;
    $namespace?: string;
    definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
    additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
    patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
    "x-value"?: any;
    "x-index"?: number;
    "x-pattern"?: any;
    "x-display"?: any;
    "x-validator"?: any;
    "x-decorator"?: any;
    "x-decorator-props"?: any;
    "x-component"?: any;
    "x-component-props"?: any;
    "x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
    "x-content"?: any;
    "x-data"?: any;
    "x-visible"?: boolean;
    "x-hidden"?: boolean;
    "x-disabled"?: boolean;
    "x-editable"?: boolean;
    "x-read-only"?: boolean;
    "x-read-pretty"?: boolean;
    "x-compile-omitted"?: string[];
}>;
/**
 * @deprecated
 * 已弃用，可以使用 createDetailsBlockSchema 替换
 * @param options
 * @returns
 */
export declare const createReadPrettyFormBlockSchema: (options: any) => import("@tachybase/schema").Stringify<{
    [key: symbol]: any;
    [key: `x-${string}`]: any;
    [key: `x-${number}`]: any;
    version?: string;
    name?: import("@tachybase/schema").SchemaKey;
    title?: any;
    description?: any;
    default?: any;
    readOnly?: boolean;
    writeOnly?: boolean;
    type?: import("@tachybase/schema").SchemaTypes;
    enum?: import("@tachybase/schema").SchemaEnum<any>;
    const?: any;
    multipleOf?: number;
    maximum?: number;
    exclusiveMaximum?: number;
    minimum?: number;
    exclusiveMinimum?: number;
    maxLength?: number;
    minLength?: number;
    pattern?: string | RegExp;
    maxItems?: number;
    minItems?: number;
    uniqueItems?: boolean;
    maxProperties?: number;
    minProperties?: number;
    required?: string[] | boolean | string;
    format?: string;
    $ref?: string;
    $namespace?: string;
    definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
    additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
    patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
    "x-value"?: any;
    "x-index"?: number;
    "x-pattern"?: any;
    "x-display"?: any;
    "x-validator"?: any;
    "x-decorator"?: any;
    "x-decorator-props"?: any;
    "x-component"?: any;
    "x-component-props"?: any;
    "x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
    "x-content"?: any;
    "x-data"?: any;
    "x-visible"?: boolean;
    "x-hidden"?: boolean;
    "x-disabled"?: boolean;
    "x-editable"?: boolean;
    "x-read-only"?: boolean;
    "x-read-pretty"?: boolean;
    "x-compile-omitted"?: string[];
}>;
/**
 * @deprecated
 * 已弃用，可以使用 createTableBlockUISchema 替换
 * @param options
 * @returns
 */
export declare const createTableBlockSchema: (options: any) => import("@tachybase/schema").Stringify<{
    [key: symbol]: any;
    [key: `x-${string}`]: any;
    [key: `x-${number}`]: any;
    version?: string;
    name?: import("@tachybase/schema").SchemaKey;
    title?: any;
    description?: any;
    default?: any;
    readOnly?: boolean;
    writeOnly?: boolean;
    type?: import("@tachybase/schema").SchemaTypes;
    enum?: import("@tachybase/schema").SchemaEnum<any>;
    const?: any;
    multipleOf?: number;
    maximum?: number;
    exclusiveMaximum?: number;
    minimum?: number;
    exclusiveMinimum?: number;
    maxLength?: number;
    minLength?: number;
    pattern?: string | RegExp;
    maxItems?: number;
    minItems?: number;
    uniqueItems?: boolean;
    maxProperties?: number;
    minProperties?: number;
    required?: string[] | boolean | string;
    format?: string;
    $ref?: string;
    $namespace?: string;
    definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
    additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
    patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
    additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
    "x-value"?: any;
    "x-index"?: number;
    "x-pattern"?: any;
    "x-display"?: any;
    "x-validator"?: any;
    "x-decorator"?: any;
    "x-decorator-props"?: any;
    "x-component"?: any;
    "x-component-props"?: any;
    "x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
    "x-content"?: any;
    "x-data"?: any;
    "x-visible"?: boolean;
    "x-hidden"?: boolean;
    "x-disabled"?: boolean;
    "x-editable"?: boolean;
    "x-read-only"?: boolean;
    "x-read-pretty"?: boolean;
    "x-compile-omitted"?: string[];
}>;
