import { AggregationContext } from "./aggregation/aggregation_context";
import { DisplayField } from "./display_field";
import { Variable } from "./variable";
export declare class CompileOutput {
    output: string;
    success: boolean;
    variables: Variable[];
    fields: DisplayField[];
    aggregate?: AggregationContext | undefined;
    constructor(output: string, success?: boolean, variables?: Variable[], fields?: DisplayField[], aggregate?: AggregationContext | undefined);
    static success(output: string): CompileOutput;
    static error(error: string): CompileOutput;
    withVariables(variables: Variable[]): this;
    withFields(fields: DisplayField[]): this;
    withAggregationContext(aggregate?: AggregationContext): this;
    toJSON(): {
        success: boolean;
        output: string;
        variables: Record<string, {
            type: string;
            value?: string;
        }>;
        fields: DisplayField[];
        aggregate: AggregationContext | undefined;
    };
}
