import React from 'react';
import { Id } from '@monstrosity/types/id';
import { Style } from '@monstrosity/types/style';
import { ClickableProps } from '../../primitives/Clickable/clickable';
interface Styles {
    activeStyle: Style;
    selectedStyle: Style;
}
interface DividerItem {
    content: JSX.Element;
}
export interface CollectionItem extends ClickableProps {
    disabled?: boolean;
    id: Id;
}
declare type Item = DividerItem | CollectionItem;
export interface CollectionProps extends Styles {
    options: Item[];
    header?: JSX.Element | string;
    footer?: JSX.Element | string;
    selectedId?: Id;
}
interface CollectionState {
    cursor: number;
}
interface DividerProps {
    full?: boolean;
}
export declare const CollectionDivider: import("styled-components").StyledComponent<"div", import("@monstrosity/types/theme").Theme, DividerProps, never>;
export declare class Collection extends React.Component<CollectionProps, CollectionState> {
    private idMap;
    private cursorMap;
    constructor(props: CollectionProps);
    render(): JSX.Element;
    private mapClickable;
    private mapDivider;
    private onKeyDown;
}
export {};
