import { AfterContentInit, QueryList, TemplateRef } from '@angular/core';
import { TemplateDirective } from '@seniorsistemas/angular-components/template';
import * as i0 from "@angular/core";
/**
 * @description Componente de cartão com suporte a banner, cabeçalho (título, subtítulo e ícone)
 * e templates customizáveis para cabeçalho, corpo e rodapé via `TemplateDirective`.
 *
 * @example
 * ```html
 * <s-card title="Título" subtitle="Subtítulo">
 *   <ng-template sTemplate type="body">Conteúdo</ng-template>
 * </s-card>
 * ```
 *
 * @category Structure
 */
export declare class CardComponent implements AfterContentInit {
    /** @description URL da imagem exibida como banner no topo do card. */
    bannerImage?: string;
    /** @description Faz o card ocupar 100% da largura disponível. @default false */
    fullWidth: boolean;
    /** @description Título exibido no cabeçalho do card. @default '' */
    title: string;
    /** @description Subtítulo exibido abaixo do título. @default '' */
    subtitle: string;
    /** @description Classe do ícone exibido no cabeçalho. @default '' */
    icon: string;
    showBanner: boolean;
    templates?: QueryList<TemplateDirective>;
    hasCustomTemplates: boolean;
    headerTemplate?: TemplateRef<unknown>;
    bodyTemplate?: TemplateRef<unknown>;
    footerTemplate?: TemplateRef<unknown>;
    get hasHeader(): string | true;
    ngAfterContentInit(): Promise<void>;
    private _getHeaderTemplate;
    private _getBodyTemplate;
    private _getFooterTemplate;
    private _getCustomTemplate;
    private _setTemplates;
    private _setShowBanner;
    static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "s-card", never, { "bannerImage": { "alias": "bannerImage"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, ["templates"], ["*"], false, never>;
}
