import { IBaseContractHandler, GenerateContractInput, CompileInput, CompiledOutput } from "../../types/index.js";
import { NetworkConfig } from "@m3s/wallet";
import { AdapterArguments } from "@m3s/common";
export interface IOpenZeppelinAdapterOptionsV1 {
    workDir?: string;
    hardhatConfig?: {
        configFileName?: string;
        customSettings?: Record<string, any>;
    };
    preserveOutput?: boolean;
    providerConfig?: NetworkConfig;
    compilerSettings?: any;
    solcVersion?: string;
}
interface args extends AdapterArguments<IOpenZeppelinAdapterOptionsV1> {
}
export declare class OpenZeppelinAdapter implements IBaseContractHandler {
    readonly name: string;
    readonly version: string;
    protected initialized: boolean;
    private workDir;
    private preserveOutput;
    private providerConfig?;
    private defaultProvider?;
    private generator;
    private solidityCompiler;
    private solidityCompilerConfig;
    private constructor();
    static create(args: args): Promise<OpenZeppelinAdapter>;
    initialize(): Promise<void>;
    isInitialized(): boolean;
    generateContract(input: GenerateContractInput): Promise<string>;
    compile(input: CompileInput): Promise<CompiledOutput>;
}
export {};
//# sourceMappingURL=adapter.d.ts.map