export interface SelectorInfo {
    selector: string;
    name: string;
    signature: string;
    mutability: string;
}
export interface UnknownSelector {
    selector: string;
    reason?: string;
}
export interface FacetAnalysis {
    name: string;
    address: string;
    statistics: {
        totalSelectors: number;
        foundSelectors: number;
        unknownSelectors: number;
    };
    selectors: {
        found: SelectorInfo[];
        unknown: UnknownSelector[];
    };
    events: Array<{
        name: string;
        signature: string;
    }>;
}
export interface BlockchainFacetData {
    totalFacets: number;
    totalSelectors: number;
    facetsBreakdown: Array<{
        address: string;
        selectors: string[];
        selectorCount: number;
    }>;
}
export interface DiamondAnalysisJSON {
    infoHash?: string;
    metadata: {
        version: string;
        timestamp: string;
        network: string;
        diamondAddress: string;
    };
    statistics: {
        totalFacets: number;
        totalSelectors: number;
        totalUnknownSelectors: number;
        uniqueAddresses: number;
    };
    blockchainData: BlockchainFacetData;
    facets: FacetAnalysis[];
    unknownSelectors: {
        total: number;
        breakdown: Array<{
            facetAddress: string;
            facetName: string;
            selectors: UnknownSelector[];
        }>;
    };
    comparisonAnalysis: {
        matchedSelectors: number;
        unmatchedSelectors: number;
        discrepancies: Array<{
            type: 'missing' | 'extra' | 'mismatch';
            facetAddress: string;
            selector?: string;
            details: string;
        }>;
    };
}
//# sourceMappingURL=analysis.d.ts.map