import { QueryAncestorReferenceV2026R0 } from './queryAncestorReferenceV2026R0.js';
import { QueryOrderByV2026R0 } from './queryOrderByV2026R0.js';
import { SerializedData } from '../../serialization/json.js';
export interface QueryRequestBodyV2026R0QueryField {
    /**
     * A logical expression used to filter the dataset, similar to an SQL
     * `WHERE` clause. May include named parameters referenced as
     * `:placeholder`. */
    readonly predicate: string;
    /**
     * A map of placeholder names (without the `:` prefix) to their values.
     * Required only when the predicate contains parameter placeholders. The
     * type of each value must match the type of the field it is compared to. */
    readonly params?: {
        readonly [key: string]: any;
    };
    /**
     * Restricts results to the specified ancestor entities and their
     * recursive descendants. The user must have read access to every listed
     * ancestor. */
    readonly ancestors?: readonly QueryAncestorReferenceV2026R0[];
    readonly rawData?: SerializedData;
}
export interface QueryRequestBodyV2026R0 {
    /**
     * The query definition, including the filtering predicate and its optional
     * parameters and ancestor restrictions. */
    readonly query: QueryRequestBodyV2026R0QueryField;
    /**
     * The sorting criteria for the result set. Entries are applied sequentially
     * to define multi-level sorting. */
    readonly orderBy?: readonly QueryOrderByV2026R0[];
    /**
     * The maximum number of results to return. Defaults to `50` when not
     * provided. */
    readonly limit?: number;
    /**
     * Controls which additional fields are included in each result entry. Each
     * value must be one of: a fully qualified item field key (for example
     * `box:item:name`), a metadata template key to hydrate the full template (for
     * example `enterprise_12345678:project`), or a specific metadata template
     * field key to hydrate a single field from the template (for example
     * `enterprise_12345678:project:name`). When omitted, entries include only the
     * item type and identifier. */
    readonly fields?: readonly string[];
    /**
     * An opaque token returned from a previous response, used to continue
     * retrieval. When provided, all other request parameters must exactly match
     * those of the original request. */
    readonly marker?: string;
    readonly rawData?: SerializedData;
}
export declare function serializeQueryRequestBodyV2026R0QueryField(val: QueryRequestBodyV2026R0QueryField): SerializedData;
export declare function deserializeQueryRequestBodyV2026R0QueryField(val: SerializedData): QueryRequestBodyV2026R0QueryField;
export declare function serializeQueryRequestBodyV2026R0(val: QueryRequestBodyV2026R0): SerializedData;
export declare function deserializeQueryRequestBodyV2026R0(val: SerializedData): QueryRequestBodyV2026R0;
//# sourceMappingURL=queryRequestBodyV2026R0.d.ts.map