export type SearchRuleListFilterPayload = {
    attributePatterns?: string[] | null;
    active?: boolean | null;
};
export type SearchRuleListPayload = {
    offset?: number;
    limit?: number;
    filter?: SearchRuleListFilterPayload | null;
};
export type SearchRuleSelector = {
    indexUid?: string | null;
    id?: string | null;
};
export type SearchRulePinAction = {
    type: "pin";
    position: number;
};
export type SearchRuleAction = {
    selector: SearchRuleSelector;
    action: SearchRulePinAction;
};
export type SearchRuleQueryCondition = {
    scope: "query";
    isEmpty?: boolean | null;
    contains?: string | null;
};
export type SearchRuleTimeCondition = {
    scope: "time";
    start?: string | null;
    end?: string | null;
};
export type SearchRuleCondition = SearchRuleQueryCondition | SearchRuleTimeCondition;
/** Dynamic search rule object */
export type SearchRule = {
    uid: string;
    description?: string | null;
    priority?: number | null;
    active?: boolean;
    conditions?: SearchRuleCondition[];
    actions: SearchRuleAction[];
};
/** Partial update payload for a dynamic search rule */
export type SearchRuleUpdatePayload = {
    description?: string | null;
    priority?: number | null;
    active?: boolean | null;
    conditions?: SearchRuleCondition[] | null;
    actions?: SearchRuleAction[] | null;
};
//# sourceMappingURL=search-rules.d.ts.map