import type { ConvertedMetadata } from '@sap-ux/vocabularies-types';
import type { XMLElement } from '@xml-tools/ast';
import type { SchemaDefinition } from '@sap/ux-specification-types';
import type { PageConnection } from '../../types';
export interface HandlerParams {
    serviceAVT: ConvertedMetadata;
    node: XMLElement;
    schema: SchemaDefinition;
    rootSchema: SchemaDefinition;
    connectionContext: PageConnection;
}
type AnnotationMacrosHandler = (params: HandlerParams) => void;
/**
 * Applies properties from an override class definition to all annotation-based controls in an aggregation.
 *
 * Annotation-based controls (those with an `annotationPath`) can be configured via override elements
 * (e.g. `ColumnOverride`, `ActionOverride`) in the view XML. This method injects the override class's
 * properties into each annotation control's schema entry so the IDE properties panel can display them,
 * without creating separate schema nodes.
 *
 * @param controlsSchema Schema of the controls aggregation (e.g. `columns` or `actions`).
 * @param aggregationName Name of the aggregation — determines which override class to apply.
 * @param schema Full BuildingBlocks schema, used to look up the override class definition.
 */
export declare function applyOverrideClasses(controlsSchema: SchemaDefinition, aggregationName: string, schema: SchemaDefinition): void;
export declare const annotationMacrosHandlers: {
    [key: string]: AnnotationMacrosHandler;
};
export {};
//# sourceMappingURL=annotations.d.ts.map