import { type IBucket, type IFilter, type IInsight, type ISortItem, type VisualizationProperties } from "@gooddata/sdk-model";
/**
 * Factory & builder for insight instances. Keeping it in test infrastructure for now, will see later on
 * whether we should move it to prod code and expose on public API.
 *
 * TODO: this together with the `newInsightDefinition` should be moved into a new test utilities package that
 *  should live under `tools`. neither of these functions/builders make sense in the production code because they
 *  lack the logic that ensures that a correct insight is created. These two things are really useful only for
 *  convenient creation of test fixtures.
 */
export declare function newInsight(visClassId: string, modifications?: InsightsModifications): IInsight;
export type InsightsModifications = (builder: InsightBuilder) => InsightBuilder;
export declare class InsightBuilder {
    private insight;
    constructor(visClassUri: string);
    uri: (uri: string) => InsightBuilder;
    identifier: (identifier: string) => InsightBuilder;
    title: (title: string) => InsightBuilder;
    buckets: (buckets: IBucket[]) => InsightBuilder;
    filters: (filters: IFilter[]) => InsightBuilder;
    sorts: (sorts: ISortItem[]) => InsightBuilder;
    properties: (properties: VisualizationProperties) => InsightBuilder;
    isLocked: (isLocked: boolean) => InsightBuilder;
    created: (created: string) => InsightBuilder;
    updated: (updated: string) => InsightBuilder;
    build: () => IInsight;
}
//# sourceMappingURL=insightBuilder.d.ts.map