import type { AbstractMixable } from '../Contracts';
import type AvonRequest from '../Http/Requests/AvonRequest';
import { Ordering } from '../Orderings';
declare const _default: <T extends AbstractMixable = AbstractMixable>(Parent: T) => (abstract new (...args: import("../Contracts").Args) => {
    /**
     * Get the orders that are available for the given request.
     */
    availableOrderings(request: AvonRequest): Ordering[];
    /**
     * Get the orders for the given request.
     */
    resolveOrderings(request: AvonRequest): Ordering[];
    /**
     * Get the orders from orderable fields for the given request.
     */
    resolveOrderingsFromFields(request: AvonRequest): Ordering[];
    /**
     * Get the orders available on the entity.
     */
    orders(request: AvonRequest): Ordering[];
}) & T;
export default _default;
