import React, { type FC, type ReactNode } from 'react';
import { type PublicKey } from '@dxos/keys';
export type PropertiesSchema = {
    [key: string]: {
        format: (value: any) => ReactNode;
    };
};
export declare const PropertySchemaFormat: {
    key: () => {
        format: (value: PublicKey) => React.JSX.Element;
    };
    number: (unit?: string) => {
        format: (value: number) => React.JSX.Element;
    };
    unit: (unit: string, precision?: number) => {
        format: (value: number) => React.JSX.Element;
    };
    percent: (precision?: number) => {
        format: (value: number) => React.JSX.Element;
    };
    date: (options?: {
        format?: string;
        relative?: boolean;
    }) => {
        format: (value: Date | string | number) => React.JSX.Element;
    };
};
export type PropertiesSlots = {
    key?: {
        className?: string;
    };
};
export declare const defaultSlots: PropertiesSlots;
export declare const PropertiesTable: FC<{
    schema?: PropertiesSchema;
    object: Record<string, any>;
    slots?: PropertiesSlots;
}>;
//# sourceMappingURL=PropertiesTable.d.ts.map