import { IBaseContractHandler, CompiledOutput, CompileInput, GenerateContractInput } from "../../types/index.js";
import { AdapterArguments } from "@m3s/common";
/**
 * Specific options for this contract adapter template.
 */
export interface ContractTemplateOptions {
    /** Required string option - describe what this does */
    option_1: string;
    /** Required nested object option */
    option_2: {
        /** Required number sub-option */
        option_2_1: number;
        /** Required string array sub-option */
        option_2_2: string[];
    };
    /** Optional BigInt option - describe what this does */
    option_3?: BigInt;
}
interface args extends AdapterArguments<ContractTemplateOptions> {
}
/**
 * Template Contract Handler Adapter
 */
export declare class ContractTemplateAdapter implements IBaseContractHandler {
    readonly name: string;
    readonly version: string;
    private initialized;
    private constructor();
    static create(args: args): Promise<ContractTemplateAdapter>;
    initialize(): Promise<void>;
    isInitialized(): boolean;
    generateContract(input: GenerateContractInput): Promise<string>;
    compile(input: CompileInput): Promise<CompiledOutput>;
}
export {};
//# sourceMappingURL=contract.d.ts.map