import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
import type { IEmail } from './sz-mta-list-view.js';
declare global {
    interface HTMLElementTagNameMap {
        'sz-mta-detail-view': SzMtaDetailView;
    }
}
export interface ISmtpLogEntry {
    timestamp: string;
    direction: 'client' | 'server';
    command: string;
    responseCode?: number;
}
export interface IConnectionInfo {
    sourceIp: string;
    sourceHostname: string;
    destinationIp: string;
    destinationPort: number;
    tlsVersion: string;
    tlsCipher: string;
    authenticated: boolean;
    authMethod: string;
    authUser: string;
}
export interface IAuthenticationResults {
    spf: 'pass' | 'fail' | 'softfail' | 'neutral' | 'none';
    spfDomain: string;
    dkim: 'pass' | 'fail' | 'none';
    dkimDomain: string;
    dmarc: 'pass' | 'fail' | 'none';
    dmarcPolicy: string;
}
export interface IEmailDetail extends IEmail {
    to: string;
    toList: string[];
    cc?: string[];
    smtpLog: ISmtpLogEntry[];
    connectionInfo: IConnectionInfo;
    authenticationResults: IAuthenticationResults;
    rejectionReason?: string;
    bounceMessage?: string;
    headers: Record<string, string>;
    body: string;
}
export declare class SzMtaDetailView extends DeesElement {
    static demo: () => TemplateResult<1>;
    static demoGroups: string[];
    accessor email: IEmailDetail | null;
    static styles: import("@design.estate/dees-element").CSSResult[];
    render(): TemplateResult;
    private getResponseCodeBadgeClass;
    private getSmtpPhases;
    private renderSmtpLog;
    private copySmtpLog;
    private handleBack;
}
