export interface IRulesConditionSettingsResult {
    type: string;
    name: string;
    oper: string;
    value: string;
    value_disp_name: string;
}
export interface IRulesSettingsResult {
    match_type: 'AND' | 'OR';
    role_name: string;
    condition: IRulesConditionSettingsResult | IRulesConditionSettingsResult[];
}
export interface IRoleMapping {
    id?: number;
    name: string;
    description?: string;
    default_role_name: string;
    rule_combine_algo: 'first-applicable' | 'evaluate-all';
    rules: IRulesSettingsResult | IRulesSettingsResult[];
}
export interface IRulesConditionSettingsCreate {
    type: string;
    name: string;
    oper: string;
    value: string;
}
export interface IRulesSettingsCreate {
    match_type: 'AND' | 'OR';
    role_name: string;
    condition: IRulesConditionSettingsCreate | IRulesConditionSettingsCreate[];
}
export interface IRoleMappingCreate {
    name: string;
    description?: string;
    default_role_name: string;
    rule_combine_algo: 'first-applicable' | 'evaluate-all';
    rules: IRulesSettingsCreate | IRulesSettingsCreate[];
}
export interface IRulesConditionSettingsUpdate {
    type?: string;
    name?: string;
    oper?: string;
    value?: string;
}
export interface IRulesSettingsUpdate {
    match_type?: 'AND' | 'OR';
    role_name?: string;
    condition?: IRulesConditionSettingsUpdate | IRulesConditionSettingsUpdate[];
}
export interface IRoleMappingUpdate {
    name?: string;
    description?: string;
    default_role_name?: string;
    rule_combine_algo?: 'first-applicable' | 'evaluate-all';
    rules?: IRulesSettingsUpdate | IRulesSettingsUpdate[];
}
export interface IRoleMappingReplace {
    name: string;
    description?: string;
    default_role_name: string;
    rule_combine_algo: 'first-applicable' | 'evaluate-all';
    rules: IRulesSettingsCreate | IRulesSettingsCreate[];
}
