import type { DataViewSpec } from '../data-views';
export interface DataViewQueryParams {
    filters?: Record<string, unknown>;
    sort?: {
        field: string;
        direction: 'asc' | 'desc';
    };
    pagination?: {
        page: number;
        pageSize: number;
    };
    search?: string;
}
export interface DataViewQuery {
    operationName: string;
    input: Record<string, unknown>;
    meta: {
        pagination: {
            page: number;
            pageSize: number;
            skip: number;
            take: number;
        };
        sorting?: {
            field: string;
            direction: 'asc' | 'desc';
        };
    };
}
export declare class DataViewQueryGenerator {
    private spec;
    constructor(spec: DataViewSpec);
    generate(params: DataViewQueryParams): DataViewQuery;
    validateParams(params: DataViewQueryParams): string[];
}
