import type { Manifest } from '../../../..';
import { type DecoratorContext } from '../../../common';
import type { Definition } from 'typescript-json-schema';
/**
 * Add general settings to schema (LR or ALP).
 *
 * - Adds Selection-(PresentationVariant) related enums to the schema.
 */
export declare class GeneralListReportSettings {
    private readonly schema;
    private readonly page;
    /**
     * Constructor for general settings of ListReport.
     *
     * @param context - general settings (App, Page, AppSchema, Logger)
     */
    constructor(context: DecoratorContext);
    init(): void;
    /**
     * Adds Selection-(PresentationVariant) related enums to the schema.
     *
     * @param definitionName - definition name
     */
    private addSPVEnums;
}
/**
 * Add filter bar to schema (LR or ALP).
 */
export declare class FilterBar {
    private readonly schema;
    private readonly app;
    private readonly page;
    /**
     * @param context - general settings (App, Page, AppSchema, Logger)
     */
    constructor(context: DecoratorContext);
    /**
     * Initializes the filter bar adjustments.
     */
    init(): void;
    private addVisualFilters;
    private addSelectionFields;
    /**
     * Adds filter bar to schema (LR or ALP).
     *
     * @param entityType - the entity type
     * @param schema - the application schema
     * @param v4Page - the actual page in the manifest
     * @param alias - alias definition for the UI vocabulary
     */
    private addFilterBar;
}
export declare class TableAndViews {
    private readonly schema;
    private readonly app;
    private readonly page;
    private readonly logger?;
    /**
     * Creates a TableAndViews instance with the given settings.
     *
     * @param context - General settings containing schema, app, page, and optional logger
     */
    constructor(context: DecoratorContext);
    /**
     * Gets the general settings.
     *
     * @returns The general settings object
     */
    getContext(): DecoratorContext;
    /**
     * Initializes the addition of table and views to the schema.
     */
    init(): void;
    /**
     * Adds table and views to the schema.
     */
    private addTableAndViews;
}
/**
 * Enhances the List Report schema with manifest paths for definition and properties.
 *
 * This function extends the app schema (`schema`) by adding manifestPath to definition and properties on the List Report.
 *
 * @param {Definition} schema - The application schema object representing the List Report structure.
 * @param {string} pageId - Identifier of the page.
 * @param {string} definitionName - Identifier of the corresponding definition.
 * @param {Manifest} manifest - The application manifest.
 * @param {string} targetAnnotation - Target annotation.
 * @param {string} entitySet - Entity set.
 */
export declare function addManifestPathsToDefinitionPropertiesLR(schema: Definition, pageId: string, definitionName: string, manifest: Manifest, targetAnnotation?: string, entitySet?: string): void;
//# sourceMappingURL=ListReportUtils.d.ts.map