/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { CollectionField, MultiRecordResource } from '@nocobase/flow-engine';
import React from 'react';
import { AssociationFieldModel } from './AssociationFieldModel';
import { type AssociationOption, type LazySelectProps } from './recordSelectShared';
type HydrateStatus = 'pending' | 'done';
type HydrationCandidate = {
    item: AssociationOption;
    tk: any;
    tkKey: string;
};
export declare function collectAssociationHydrationCandidates(options: {
    value: LazySelectProps['value'];
    isMultiple: boolean;
    valueKey: string;
    labelKey: string;
    statusMap: Map<string, HydrateStatus>;
}): HydrationCandidate[];
export declare function getAssociationHydrationNamePath(model: any): any;
export declare function getAssociationHydrationSetterContext(model: any): any;
export declare function CreateContent({ model, toOne }: {
    model: any;
    toOne?: boolean;
}): React.JSX.Element;
export declare class RecordSelectFieldModel extends AssociationFieldModel {
    resource: MultiRecordResource;
    get collectionField(): CollectionField;
    onInit(options: any): void;
    set onPopupScroll(fn: any);
    set onDropdownVisibleChange(fn: any);
    set onSearch(fn: any);
    setDataSource(dataSource: any): void;
    getDataSource(): any;
    getFilterValue(): any;
    protected onMount(): void;
    set onModalAddClick(fn: any);
    set onDropdownAddClick(fn: any);
    change(value: any): void;
    render(): React.JSX.Element;
}
export {};
