import { ComponentDefinition, InstanceProps, InteractionType, NodeId, NodeType, NodeTypeWithOverrides, Override, OverrideLookupByType, OverrideType, PropDefinition, Selector, SelectorsMap } from "./types";
export declare function sortSelectorsByPriority(selectors: Selector[], propDefinitions: PropDefinition[]): Selector[];
export declare function getApplicableSelectorsForInstanceProps(selectorsMap: SelectorsMap, instanceProps: InstanceProps, propDefinitions: PropDefinition[]): Selector[];
export interface NodeOverrides<T extends Override = Override> {
    default: T;
    hover: T;
    active: T;
    focusWithin: T;
}
export declare function getResolvedOverridesForNode<T extends OverrideType>(applicableSelectors: Selector[], nodeId: NodeId, overrideType: T, { excludeDefaultStyles }?: {
    excludeDefaultStyles?: boolean;
}): NodeOverrides<OverrideLookupByType<T>>;
export declare function applySelectorsToDefinition(definition: ComponentDefinition, selectors: Selector[], interactionType: InteractionType): ComponentDefinition;
/**
 * Overrides types
 */
export declare function isNodeWithOverrides(node: NodeType): node is NodeTypeWithOverrides;
//# sourceMappingURL=overrides-helpers.d.ts.map