import * as _angular_core from '@angular/core';
import { SafeHtml } from '@angular/platform-browser';
import { Operator } from '@sdcorejs/utils/models';

interface OperatorItem {
    value: Operator;
    icon: SafeHtml;
    display: string;
}
declare class SdOperator {
    #private;
    static readonly FALLBACK_ICON = "<path d=\"M4 5h16l-6.5 7.5V19l-3 2v-8.5z\"/>";
    /** Operator hiện tại — binding hai chiều [(model)]. */
    model: _angular_core.ModelSignal<Operator | undefined>;
    /** Danh sách operator cho phép, giữ nguyên thứ tự truyền vào. */
    operators: _angular_core.InputSignal<Operator[]>;
    /** Vô hiệu hóa trigger (không mở được menu). */
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** data-autoId cho e2e selector. */
    autoId: _angular_core.InputSignal<string | undefined>;
    /** Allowed operators map sang { value, icon, display } theo thứ tự input. */
    readonly items: _angular_core.Signal<OperatorItem[]>;
    /** Icon SVG ở trigger — fallback phễu khi model chưa set / không tìm thấy. */
    readonly currentIcon: _angular_core.Signal<SafeHtml>;
    /** Tooltip = i18n label của operator hiện tại ('' khi chưa chọn). */
    readonly currentLabel: _angular_core.Signal<string>;
    private readonly trigger;
    /** Open the operator menu programmatically (used by the query-bar build flow). */
    open(): void;
    /** Chọn operator từ menu. */
    select(value: Operator): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdOperator, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdOperator, "sd-operator", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "operators": { "alias": "operators"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; }, { "model": "modelChange"; }, never, never, true, never>;
}

export { SdOperator };
