diff --git a/minisqlquery-master/src/MiniSqlQuery.Core/DbModel/ISqlWriter.cs b/minisqlquery-master/src/MiniSqlQuery.Core/DbModel/ISqlWriter.cs
new file mode 100644
index 0000000..fcb11da
--- /dev/null
+++ b/minisqlquery-master/src/MiniSqlQuery.Core/DbModel/ISqlWriter.cs
@@ -0,0 +1,67 @@
+#region License
+
+// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
+// This source code is made available under the terms of the GNU Lesser General Public License v3.0
+// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
+
+#endregion
+
+using System.IO;
+
+namespace MiniSqlQuery.Core.DbModel
+{
+ /// <summary>An SQL Writer interface.</summary>
+ public interface ISqlWriter
+ {
+ /// <summary>Gets or sets a value indicating whether IncludeComments.</summary>
+ /// <value>The include comments.</value>
+ bool IncludeComments { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether to include read-only columns in the export SQL.
+ /// </summary>
+ /// <value>
+ /// <c>true</c> if including read-only columns in the export; otherwise, <c>false</c>.
+ /// </value>
+ bool IncludeReadOnlyColumnsInExport { get; set; }
+
+ /// <summary>Gets or sets a value indicating whether InsertLineBreaksBetweenColumns.</summary>
+ /// <value>The insert line breaks between columns.</value>
+ bool InsertLineBreaksBetweenColumns { get; set; }
+
+ /// <summary>The write create.</summary>
+ /// <param name="writer">The writer.</param>
+ /// <param name="column">The column.</param>
+ void WriteCreate(TextWriter writer, DbModelColumn column);
+
+ /// <summary>The write delete.</summary>
+ /// <param name="writer">The writer.</param>
+ /// <param name="tableOrView">The table or view.</param>
+ void WriteDelete(TextWriter writer, DbModelTable tableOrView);
+
+ /// <summary>The write insert.</summary>
+ /// <param name="writer">The writer.</param>
+ /// <param name="tableOrView">The table or view.</param>
+ void WriteInsert(TextWriter writer, DbModelTable tableOrView);
+
+ /// <summary>The write select.</summary>
+ /// <param name="writer">The writer.</param>
+ /// <param name="tableOrView">The table or view.</param>
+ void WriteSelect(TextWriter writer, DbModelTable tableOrView);
+
+ /// <summary>The write select count.</summary>
+ /// <param name="writer">The writer.</param>
+ /// <param name="tableOrView">The table or view.</param>
+ void WriteSelectCount(TextWriter writer, DbModelTable tableOrView);
+
+ /// <summary>The write summary.</summary>
+ /// <param name="writer">The writer.</param>
+ /// <param name="column">The column.</param>
+ void WriteSummary(TextWriter writer, DbModelColumn column);
+
+ /// <summary>The write update.</summary>
+ /// <param name="writer">The writer.</param>
+ /// <param name="tableOrView">The table or view.</param>
+ void WriteUpdate(TextWriter writer, DbModelTable tableOrView);
+ }
+}
\ No newline at end of file