import { TableWithId, SelectQuery, SortColumn } from "@db/types/db-types";
import { ResourceMeta } from "../../../core/resource-meta";
import { ODataOrderBy } from "../../../../../fd-toolbox/odata/odataorderby";
import { ODataSelectOrExpandTree } from "./odata-expression-select-tree";
export declare function select<TTable extends TableWithId>(resourceTable: TTable, oDataSelectOrExpandTree: ODataSelectOrExpandTree, resourceMeta: ResourceMeta): Promise<{
    query: DbQuery;
}>;
export declare function expand<TTable extends TableWithId>(resourceTable: TTable, expandTree: ODataSelectOrExpandTree, resourceMeta: ResourceMeta): Promise<{
    query: DbQuery;
}>;
export declare function offset<TQuery extends SelectQuery>(query: TQuery, table: TableWithId, value: number, sorts: SortColumn[], resourceMeta: ResourceMeta): Promise<{
    query: any;
}>;
export declare function limit<TQuery extends SelectQuery>(query: TQuery, table: TableWithId, value: number, sorts: SortColumn[], resourceMeta: ResourceMeta): Promise<{
    query: any;
}>;
export declare function sort<TQuery extends SelectQuery>(query: TQuery, sorts: SortColumn[]): {
    query: any;
};
export declare function getSortColumns<TTable extends TableWithId, TQuery extends SelectQuery>(query: TQuery, table: TTable, resourceMeta: ResourceMeta, orderBysProp?: ODataOrderBy[]): Promise<SortColumn[]>;
