import type { BuildInfoAndOutput } from "../edr-artifacts.js";
export interface Eip712TypesConfig {
    include: string[];
    exclude: string[];
}
/**
 * Walks every compiled source's AST, extracts every struct definition, and
 * returns the flat list of canonical EIP-712 type strings expected by EDR's
 * `eip712CanonicalTypes` config field. Only structs from sources matching
 * `include`/`exclude` are emitted; non-selected sources still feed the dep
 * graph so cross-file deps inline correctly.
 *
 * `inputToUserSource` maps solc input source names to user source names; it's
 * built by the caller from the artifact set so we don't pay to parse every
 * build info just to recover that mapping.
 *
 * When `include` is empty/unset the feature is off: collection short-circuits
 * and returns an empty list without parsing any build info.
 */
export declare function collectEip712CanonicalTypes(buildInfosAndOutputs: BuildInfoAndOutput[], inputToUserSource: ReadonlyMap<string, string>, config: Eip712TypesConfig): string[];
//# sourceMappingURL=index.d.ts.map