meta: {
    withFeature: {
        forColumn<FeatureName extends string, Data = unknown>(
            column: Column<Data>,
            featureName: FeatureName,
        ): ColumnFeatures[FeatureName];
        forTable<FeatureName extends string, Data = unknown>(
            table: Table<Data>,
            featureName: FeatureName,
        ): TableFeatures[FeatureName];
    };
    forColumn<P extends BasePlugin<any>, Data = unknown>(
        column: Column<Data>,
        klass: Class<P>,
    ): ColumnMetaFor<SignatureFrom<P>>;
    forRow<P extends BasePlugin<any>, Data = unknown>(
        row: Row<Data>,
        klass: Class<P>,
    ): RowMetaFor<SignatureFrom<P>>;
    forTable<P extends BasePlugin<any>, Data = unknown>(
        table: Table<Data>,
        klass: Class<P>,
    ): TableMetaFor<SignatureFrom<P>>;
} = ...

Type declaration