import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
export interface IConfigField {
    key: string;
    value: string | number | boolean | string[] | null;
    type?: 'text' | 'boolean' | 'badge' | 'pills' | 'code' | 'link';
    description?: string;
    linkTo?: string;
}
export interface IConfigSectionAction {
    label: string;
    icon?: string;
    event?: string;
    detail?: any;
}
export interface IConfigSectionLink {
    label: string;
    href: string;
    icon?: string;
    external?: boolean;
}
declare global {
    interface HTMLElementTagNameMap {
        'sz-config-section': SzConfigSection;
    }
}
export declare class SzConfigSection extends DeesElement {
    static demo: () => TemplateResult<1>;
    static demoGroups: string[];
    accessor title: string;
    accessor subtitle: string;
    accessor icon: string;
    accessor status: 'enabled' | 'disabled' | 'not-configured' | 'warning';
    accessor fields: IConfigField[];
    accessor actions: IConfigSectionAction[];
    accessor links: IConfigSectionLink[];
    accessor collapsible: boolean;
    accessor collapsed: boolean;
    accessor isCollapsed: boolean;
    accessor hasSlottedContent: boolean;
    static styles: import("@design.estate/dees-element").CSSResult[];
    connectedCallback(): Promise<void>;
    updated(changedProperties: Map<string, any>): void;
    private onSlotChange;
    render(): TemplateResult;
    private renderField;
    private renderFieldValue;
    private inferType;
}
