import { Dimension } from "./dimension";
import { DisplayField } from "./display_field";
import { Variable } from "./variable";
export declare class CompileOutput {
    output: string;
    success: boolean;
    variables: Record<string, Omit<Variable, "key">>;
    fields: DisplayField[];
    groupBy?: Dimension[] | undefined;
    aggregate?: DisplayField[] | undefined;
    constructor(output: string, success?: boolean, variables?: Record<string, Omit<Variable, "key">>, fields?: DisplayField[], groupBy?: Dimension[] | undefined, aggregate?: DisplayField[] | undefined);
    static success(output: string): CompileOutput;
    static error(error: string): CompileOutput;
    withVariables(variables: Variable[]): this;
    withFields(fields: DisplayField[]): this;
    withAggregationContext(groupBy?: Dimension[], aggregate?: DisplayField[]): this;
}
