import QueryTable from './query-table'; import SelectQuery from './query/select-query'; import { QueryProcessor } from "./helpers/internal-types"; import JoinedTables from "./join/joined-tables"; import TableQuery from "./query/table-query"; export default class QuerySource { protected _queryProcessor: QueryProcessor; constructor(_queryProcessor: QueryProcessor); from>(table1: Table1 & QueryTable): SelectQuery; from>(tables: JoinedTables): SelectQuery; from, Table2 extends QueryTable>(table1: Table1, table2: Table2): SelectQuery; from, Table2 extends QueryTable, Table3 extends QueryTable>(table1: Table1, table2: Table2, table3: Table3): SelectQuery; table>(table: Table & QueryTable): TableQuery; }