import { AfterContentChecked, EventEmitter } from '@angular/core';
import { ObjectCardFieldComponent } from './elements/field/object-card-field.component';
import { ObjectCardMainComponent } from './elements/main/object-card-main.component';
import { BorderButtonOptions, Severities } from '@seniorsistemas/angular-components/shared';
import * as i0 from "@angular/core";
/**
 * @description Card de exibição de objeto com setor principal, campos extras e
 * painel expansível. Calcula automaticamente quantos campos cábem visíveis
 * conforme a largura do container e suporta nível de severidade.
 *
 * @example
 * ```html
 * <s-object-card [severity]="'info'" [expanded]="false">
 *   <s-object-card-main label="Nome" value="João" />
 *   <s-object-card-field label="CPF" value="000.000.000-00" />
 * </s-object-card>
 * ```
 *
 * @category Structure
 */
export declare class ObjectCardComponent implements AfterContentChecked {
    static readonly nextIdSeed = 0;
    private static _nextId;
    static getNextId(): number;
    /** @description Identificador do componente no DOM. Gerado automaticamente se não informado. */
    id: string;
    /** @description Define se o painel expansível está aberto. @default false */
    expanded: boolean;
    /** @description Tooltip do botão de expandir. @default 'Abrir painel' */
    expandTooltip: string;
    /** @description Tooltip do botão de colapsar. @default 'Fechar painel' */
    collapseTooltip: string;
    /** @description Largura mínima em pixels de cada campo visível. @default 200 */
    fieldsMinWidth: number;
    /** @description Nível de severidade que altera o estilo visual. @default 'default' */
    severity: Severities;
    /** @description Opções de configuração do botão de borda lateral. */
    borderButtonOptions?: BorderButtonOptions;
    /** @description Emitido quando o estado de expansão muda, com o novo valor booleano. */
    expandedChange: EventEmitter<boolean>;
    main: ObjectCardMainComponent | null;
    fields: import("@angular/core").Signal<readonly ObjectCardFieldComponent[]>;
    private readonly container;
    private readonly cardMainContainer;
    private readonly iconContainer;
    maxVisibleFields: number;
    ngAfterContentChecked(): void;
    private update;
    toggle(): void;
    expand(): void;
    collapse(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ObjectCardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ObjectCardComponent, "s-object-card", never, { "id": { "alias": "id"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "expandTooltip": { "alias": "expandTooltip"; "required": false; }; "collapseTooltip": { "alias": "collapseTooltip"; "required": false; }; "fieldsMinWidth": { "alias": "fieldsMinWidth"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "borderButtonOptions": { "alias": "borderButtonOptions"; "required": false; }; }, { "expandedChange": "expandedChange"; }, ["fields", "main"], ["s-object-card-main"], true, never>;
}
