import { EventEmitter } from '../../../stencil-public-runtime';
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
import { OrderByItem } from '../lime-query.types';
/**
 * Order By Editor Component
 *
 * Allows users to specify the order in which query results should be sorted.
 * Supports sorting by multiple properties with ascending or descending order.
 *
 * Features:
 * - **Property selection**: Choose properties using dropdown navigation
 * - **Sort direction**: Toggle between ascending (ASC) and descending (DESC)
 * - **Multiple sort fields**: Add multiple properties to create complex sorting
 * - **Order matters**: Properties are sorted in the order they appear in the list
 * - **Dynamic list**: Add/remove sort fields
 *
 * The component generates an `OrderByItem[]` array where each item specifies
 * a property path and sort direction.
 *
 * @private
 */
export declare class OrderByEditor implements LimeWebComponent {
    /**
     * Platform service provider
     */
    platform: LimeWebComponentPlatform;
    /**
     * Component context
     */
    context: LimeWebComponentContext;
    /**
     * The limetype to select properties from
     */
    limetype: string;
    /**
     * Current order by specification
     */
    value?: OrderByItem[];
    /**
     * Optional label
     */
    label: string;
    private items;
    /**
     * Emitted when the order by specification changes
     */
    change: EventEmitter<OrderByItem[]>;
    componentWillLoad(): void;
    handleValueChange(newValue?: OrderByItem[]): void;
    render(): any;
    private renderEmptyState;
    private renderOrderByEditor;
    private renderHeader;
    private renderOrderByList;
    private renderActions;
    private renderItem;
    private handleItemChange;
    private handleAddSortField;
    private emitChange;
}
//# sourceMappingURL=order-by-editor.d.ts.map