import type StructuredQuery from "../StructuredQuery";
export default class MBQLArrayClause extends Array {
    _index: number;
    _query: StructuredQuery;
    constructor(mbql: Array<any>, index?: number | null | undefined, query?: StructuredQuery);
    static get [Symbol.species](): ((...items: any[]) => MBQLArrayClause) & typeof MBQLArrayClause;
    set(mbql: any[]): any;
    replace(_replacement: Array<any>): StructuredQuery;
    /**
     * returns the parent query object
     */
    legacyQuery(_opts?: {
        useStructuredQuery: true;
    }): StructuredQuery;
    setQuery(query: StructuredQuery): any;
    index(): number;
    parent(): StructuredQuery;
    /**
     * return the Metadata instance from the linked Query
     */
    metadata(): import("../../metadata/Metadata").default;
    raw(): any[];
}
export declare class MBQLObjectClause {
    _index: number;
    _query: StructuredQuery;
    constructor(mbql: Record<string, any>, index?: number | null | undefined, query?: StructuredQuery);
    set(mbql: any): any;
    replace(_replacement: any): StructuredQuery;
    /**
     * returns the parent query object
     */
    legacyQuery(): StructuredQuery;
    setQuery(query: StructuredQuery): any;
    index(): number;
    parent(): StructuredQuery;
    /**
     * return the Metadata instance from the linked Query
     */
    metadata(): import("../../metadata/Metadata").default;
    raw(): {
        [k: string]: any;
    };
}
