import { applierContext, resolveOptions, CdmAttributeResolutionGuidance } from '../internal';
export interface AttributeResolutionApplier {
    /**
     * @internal
     */
    matchName: string;
    /**
     * @internal
     */
    priority: number;
    /**
     * @internal
     */
    overridesBase: boolean;
    /**
     * @internal
     */
    willCreateContext?: applierQuery;
    /**
     * @internal
     */
    doCreateContext?: applierAction;
    /**
     * @internal
     */
    willRemove?: applierQuery;
    /**
     * @internal
     */
    willAttributeModify?: applierQuery;
    /**
     * @internal
     */
    doAttributeModify?: applierAction;
    /**
     * @internal
     */
    willGroupAdd?: applierQuery;
    /**
     * @internal
     */
    doGroupAdd?: applierAction;
    /**
     * @internal
     */
    willRoundAdd?: applierQuery;
    /**
     * @internal
     */
    doRoundAdd?: applierAction;
    /**
     * @internal
     */
    willAttributeAdd?: applierQuery;
    /**
     * @internal
     */
    doAttributeAdd?: applierAction;
    /**
     * @internal
     */
    willAlterDirectives?(resOpt: resolveOptions, resGuide: CdmAttributeResolutionGuidance): boolean;
    /**
     * @internal
     */
    doAlterDirectives?(resOpt: resolveOptions, resGuid: CdmAttributeResolutionGuidance): void;
}
export declare type applierAction = (onStep: applierContext) => void;
export declare type applierQuery = (onStep: applierContext) => boolean;
