///
import * as NAST from "nast-types";
import { BlockRendererProps } from "../interfaces";
declare function createAccessor(column: NAST.Collection["schema"][string], columnId: string): (row: NAST.Page) => {
type: "title";
value: NAST.SemanticString[];
} | {
type: "checkbox";
value: boolean;
} | {
type: "select" | "multi_select";
value: {
color: string;
value: string;
}[];
} | {
type: "created_by" | "last_edited_by";
value: string;
} | {
type: "created_time";
value: number;
} | {
type: "last_edited_time";
value: number;
} | {
type: "number" | "text" | "date" | "person" | "file" | "url" | "email" | "phone_number" | "formula" | "relation";
value: NAST.SemanticString[];
};
export interface CollectionProps {
view: NAST.Collection["views"][number];
columns: {
id: string;
name: NAST.Collection["schema"][string]["name"];
type: NAST.Collection["schema"][string]["type"];
options: NAST.Collection["schema"][string]["options"];
accessor: ReturnType;
}[];
rows: NAST.Page[];
}
export interface CollectionDriverProps extends BlockRendererProps {
current: NAST.Collection;
}
export declare function Collection(props: CollectionProps): JSX.Element;
export declare function CollectionDriver(props: CollectionDriverProps): JSX.Element;
export declare function Table(props: CollectionProps): JSX.Element;
export declare function Gallery(props: CollectionProps): JSX.Element;
export {};
//# sourceMappingURL=Collection.d.ts.map