import { EventEmitter } from '@angular/core';
import { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';
import * as i0 from "@angular/core";
/**
 * @description Componente de estado vazio exibido quando não há conteúdo para mostrar.
 * Apresenta um ícone, título, descrição e até duas ações configuráveis
 * (primária com suporte a tiered menu e secundária simples).
 *
 * @example
 * ```html
 * <s-empty-state
 *   title="Nenhum resultado encontrado"
 *   description="Tente ajustar os filtros da busca."
 *   primaryActionLabel="Criar novo"
 *   (primaryAction)="onCreate()"
 * />
 * ```
 *
 * @category Feedback
 */
export declare class EmptyStateComponent {
    static readonly nextIdSeed = 0;
    private static _nextId;
    static getNextId(): number;
    /**
     * @description Identificador único do componente. Gerado automaticamente se não informado.
     */
    id: string;
    /**
     * @description Título principal exibido no estado vazio. Campo obrigatório.
     */
    title: string;
    /**
     * @description Classe CSS do ícone exibido no estado vazio.
     * Aceita classes de bibliotecas de ícones como Font Awesome.
     *
     * @default 'fa fa-inbox'
     */
    iconClass: string;
    /**
     * @description Texto descritivo exibido abaixo do título, explicando o motivo do estado vazio
     * ou orientando o usuário sobre as próximas ações.
     */
    description?: string;
    /**
     * @description Controla a visibilidade do botão de ação primária.
     *
     * @default true
     */
    showPrimaryAction: boolean;
    /**
     * @description Controla a visibilidade do botão de ação secundária.
     *
     * @default true
     */
    showSecondaryAction: boolean;
    /**
     * @description Texto do botão de ação primária.
     * Quando `primaryModel` possui itens, o botão exibe um tiered menu ao clicar.
     */
    primaryActionLabel?: string;
    /** @description Texto do botão de ação secundária. */
    secondaryActionLabel?: string;
    /**
     * @description Lista de itens para o tiered menu da ação primária.
     * Quando informado com itens, o botão primário exibe um menu de opções
     * ao invés de emitir o evento `primaryAction` diretamente.
     */
    primaryModel: TieredMenuItemData[];
    /**
     * @description Emitido quando o usuário clica no botão de ação primária e `primaryModel` está vazio.
     */
    primaryAction: EventEmitter<void>;
    /**
     * @description Emitido quando o usuário clica no botão de ação secundária.
     */
    secondaryAction: EventEmitter<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<EmptyStateComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EmptyStateComponent, "s-empty-state", never, { "id": { "alias": "id"; "required": false; }; "title": { "alias": "title"; "required": true; }; "iconClass": { "alias": "iconClass"; "required": false; }; "description": { "alias": "description"; "required": false; }; "showPrimaryAction": { "alias": "showPrimaryAction"; "required": false; }; "showSecondaryAction": { "alias": "showSecondaryAction"; "required": false; }; "primaryActionLabel": { "alias": "primaryActionLabel"; "required": false; }; "secondaryActionLabel": { "alias": "secondaryActionLabel"; "required": false; }; "primaryModel": { "alias": "primaryModel"; "required": false; }; }, { "primaryAction": "primaryAction"; "secondaryAction": "secondaryAction"; }, never, never, true, never>;
}
