import { Result } from "../index"; export declare type QueryOptions = { type: string; returning: (result: any) => Result | Promise; catch?: (err: any) => Result | Promise; }; declare abstract class Query { protected query: { type: QueryOptions["type"]; returning: QueryOptions["returning"]; catch?: QueryOptions["catch"]; }; constructor(opts: QueryOptions); protected clone(): this; readonly type: string; readonly returning: (result: any) => Result | Promise; readonly catch: ((err: any) => Result | Promise) | undefined; resultsIn(success?: QueryOptions["returning"], fail?: QueryOptions["catch"]): this; forType(type: string): this; } export default Query;