import * as _angular_core from '@angular/core';
import { ElementRef } from '@angular/core';
import { Color } from '@sdcorejs/utils/models';
import { MaterialIconFontSet } from '@sdcorejs/angular/utilities/models';

/**
 * Marker cho vùng action custom chiếu vào <sd-inform>.
 * Khi có phần tử mang [sdInformAction], component ẩn link `actionLabel` mặc định.
 */
declare class SdInformActionDirective {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdInformActionDirective, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SdInformActionDirective, "[sdInformAction]", never, {}, {}, never, never, true, never>;
}

declare class SdInform {
    #private;
    color: _angular_core.InputSignalWithTransform<Color, Color | null | undefined>;
    primary: _angular_core.InputSignalWithTransform<boolean, unknown>;
    secondary: _angular_core.InputSignalWithTransform<boolean, unknown>;
    info: _angular_core.InputSignalWithTransform<boolean, unknown>;
    success: _angular_core.InputSignalWithTransform<boolean, unknown>;
    warning: _angular_core.InputSignalWithTransform<boolean, unknown>;
    error: _angular_core.InputSignalWithTransform<boolean, unknown>;
    title: _angular_core.InputSignal<string | undefined>;
    description: _angular_core.InputSignal<string | undefined>;
    icon: _angular_core.InputSignal<string | undefined>;
    hideIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
    fontSet: _angular_core.InputSignalWithTransform<MaterialIconFontSet, MaterialIconFontSet | null | undefined>;
    closable: _angular_core.InputSignalWithTransform<boolean, unknown>;
    actionLabel: _angular_core.InputSignal<string | undefined>;
    lineClamp: _angular_core.InputSignal<number | undefined>;
    autoId: _angular_core.InputSignal<string | undefined>;
    sdClosed: _angular_core.OutputEmitterRef<Event>;
    sdAction: _angular_core.OutputEmitterRef<Event>;
    readonly dismissed: _angular_core.WritableSignal<boolean>;
    readonly expanded: _angular_core.WritableSignal<boolean>;
    readonly overflowing: _angular_core.WritableSignal<boolean>;
    protected readonly bodyRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
    protected readonly actionSlot: _angular_core.Signal<SdInformActionDirective | undefined>;
    effectiveColor: _angular_core.Signal<Color>;
    colorClasses: _angular_core.Signal<{
        'c-primary': boolean;
        'c-secondary': boolean;
        'c-info': boolean;
        'c-success': boolean;
        'c-warning': boolean;
        'c-error': boolean;
    }>;
    effectiveIcon: _angular_core.Signal<string | null>;
    fontSetClasses: _angular_core.Signal<{
        'material-icons': boolean;
        'material-icons-outlined': boolean;
        'material-icons-round': boolean;
        'material-icons-sharp': boolean;
    }>;
    hasActionSlot: _angular_core.Signal<boolean>;
    clampLines: _angular_core.Signal<number | null>;
    showToggle: _angular_core.Signal<boolean>;
    liveRole: _angular_core.Signal<"alert" | "status">;
    constructor();
    /** Đo tràn dòng của body; chỉ có ý nghĩa khi đang clamp. */
    measureOverflow(): void;
    toggleExpanded(): void;
    onClose(event: Event): void;
    onAction(event: Event): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdInform, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdInform, "sd-inform", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "primary": { "alias": "primary"; "required": false; "isSignal": true; }; "secondary": { "alias": "secondary"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "warning": { "alias": "warning"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "hideIcon": { "alias": "hideIcon"; "required": false; "isSignal": true; }; "fontSet": { "alias": "fontSet"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "lineClamp": { "alias": "lineClamp"; "required": false; "isSignal": true; }; "autoId": { "alias": "autoId"; "required": false; "isSignal": true; }; }, { "sdClosed": "sdClosed"; "sdAction": "sdAction"; }, ["actionSlot"], ["[sdInformAction]"], true, never>;
}

export { SdInform, SdInformActionDirective };
