import { ImmutableUpdateFn } from '@o/utils';
import { Context, FunctionComponent } from 'react';
import { ListItemProps, ListItemViewProps } from '../lists/ListItemViewProps';
import { SimpleTextProps } from '../text/SimpleText';
import { TitleProps } from '../text/Title';
import { Bit } from './BitLike';
declare type PersistedStateOptions = {
persist?: 'off';
};
export declare type ConfigureUIProps = {
mediaQueries: {
[key: string]: string;
};
useIcon: any;
getIconForBit: (bit: Bit) => React.ReactNode;
getItemKey: (item: any, index: number) => string | number;
handleLink: (event: Event, url: string) => any;
useAppState: (id: string | false, defaultState: A, options?: PersistedStateOptions) => [A, ImmutableUpdateFn];
useUserState: (id: string | false, defaultState: A, options?: PersistedStateOptions) => [A, ImmutableUpdateFn];
customItems: {
[key: string]: CustomItemDescription;
};
StoreContext: Context;
defaultProps: {
title?: Partial | null;
text?: Partial | null;
};
loadBit?: (id: number) => Promise;
};
export declare type CustomItemView = FunctionComponent;
export declare type CustomItemDescription = {
listItem?: CustomItemView;
item?: CustomItemView;
getItemProps?: (item: Bit) => ListItemProps;
};
export declare let Config: ConfigureUIProps;
export declare function configureUI(opts: Partial): void;
export {};
//# sourceMappingURL=configureUI.d.ts.map