import { AttributeParser } from "./parser/attributes"; import { ElementDirectiveParser } from "./parser/elements"; export declare function singleAttribute(map: DirectiveMap, name: string, parser?: AttributeParser, priority?: number): void; export declare function multiElementAttributeWithScope(map: DirectiveMap, name: string, parser?: AttributeParser, priority?: number): void; export declare function multiElementAttributeWithoutScope(map: DirectiveMap, name: string, parser?: AttributeParser, priority?: number): void; export interface AttributeLocal { name: string; type: string; } export interface DirectiveAttribute { name: string; optional?: boolean; mode?: 'expression' | 'interpolated'; locals?: AttributeLocal[]; parser?: AttributeParser; } export interface DirectiveData { name: string; canBeElement: boolean; canBeAttribute: boolean; attributes: DirectiveAttribute[]; parser?: ElementDirectiveParser; priority?: number; } export interface DirectiveMap { elements: Map; attributes: Map; } export declare const builtinDirectiveMap: DirectiveMap; export declare function createDirectiveMap(directives: DirectiveData[]): DirectiveMap; export declare function normalize(attributeName: string | null | undefined): string;