import { SearchBoxConnection } from './types';
import { AssetBrief, AssetType } from '../../types/communityAssets';
import { DataVizID, GeogIdentifier, GeographyType, GeogTypeDescriptor, Indicator, VariableBase } from '../../types';
import { PremadeConnectedSearchBoxProps } from './ConnectedSearchBox';
import { AsyncListLoadOptions } from '@react-stately/data';
export declare type ConnectionKey = string | number | object;
export declare const assetsConnection: SearchBoxConnection<AssetBrief>;
export declare const assetTypeConnection: SearchBoxConnection<AssetType>;
export declare class GeographyConnection implements SearchBoxConnection<GeogIdentifier> {
    geogType: GeographyType;
    constructor(geogType: GeographyType);
    load: ({ signal, cursor, filterText, }: AsyncListLoadOptions<GeogIdentifier, string>) => Promise<{
        items: any;
        cursor: any;
    }>;
    renderItem: (item: GeogIdentifier) => JSX.Element;
    getKey: (item: GeogIdentifier) => string;
}
export declare const geographyTypeConnection: SearchBoxConnection<GeogTypeDescriptor>;
export declare const dataVizConnection: SearchBoxConnection<DataVizID>;
export declare const variableConnection: SearchBoxConnection<VariableBase>;
export declare const indicatorConnection: SearchBoxConnection<Indicator>;
export declare function withConnection<T extends object>(connection: SearchBoxConnection<T>): (props: PremadeConnectedSearchBoxProps<T>) => JSX.Element;
export declare const AssetSearchBox: (props: Pick<import("./ConnectedSearchBox").ConnectedSearchBoxProps<AssetBrief>, "label" | "onSelection">) => JSX.Element;
export declare const GeogTypeSearchBox: (props: Pick<import("./ConnectedSearchBox").ConnectedSearchBoxProps<GeogTypeDescriptor>, "label" | "onSelection">) => JSX.Element;
export declare const makeGeogSearchBox: (geogType: GeographyType) => (props: Pick<import("./ConnectedSearchBox").ConnectedSearchBoxProps<GeogIdentifier>, "label" | "onSelection">) => JSX.Element;
export declare const DataVizSearchBox: (props: Pick<import("./ConnectedSearchBox").ConnectedSearchBoxProps<DataVizID>, "label" | "onSelection">) => JSX.Element;
