import React from 'react';
import { CustomReactEditorProps } from '../interfaces/custom-react-editor-props';
import { Resource } from '../interfaces/resource';
import { BuilderRequest } from '../interfaces/builder-request';
export interface CommerceAPIOperations {
    [resourceName: string]: {
        resourcePicker?: React.FC<ResourcePickerProps>;
        findById(id: string): Promise<Resource>;
        findByHandle?(handle: string): Promise<Resource>;
        search(search: string, offset?: number, limit?: number): Promise<Resource[]>;
        getRequestObject(id: string, resource?: Resource): BuilderRequest;
    };
}
export interface ResourcesPickerButtonProps extends CustomReactEditorProps<BuilderRequest | string> {
    isPreview?: boolean;
    handleOnly?: boolean;
    api: CommerceAPIOperations;
    resourcePicker?: React.FC<ResourcePickerProps>;
    pluginId: string;
    pluginName: string;
    resourceName: string;
    previewType?: string;
}
export interface ResourcePreviewCellProps {
    resource: Resource;
    button?: boolean;
    selected?: boolean;
    className?: string;
}
export declare const ResourcePreviewCell: React.FC<ResourcePreviewCellProps>;
export type ResourcePickerProps = CustomReactEditorProps<Resource> & {
    api: CommerceAPIOperations;
    omitIds?: string[];
    resourceName: string;
    title?: string;
};
export declare const ResourcePicker: React.FC<ResourcePickerProps>;
export declare const ResourcesPickerButton: React.FC<ResourcesPickerButtonProps>;
