type SolcInput = {
    [contractName: string]: {
        content: string;
    };
};
type SolcError = {
    component: string;
    errorCode: string;
    formattedMessage: string;
    message: string;
    severity: string;
    sourceLocation?: {
        file: string;
        start: number;
        end: number;
    };
    type: string;
};
export type SolcOutput = {
    contracts: {
        [contractPath: string]: {
            [contractName: string]: {
                abi: Array<{
                    name: string;
                    inputs: Array<{
                        name: string;
                        type: string;
                    }>;
                    outputs: Array<{
                        name: string;
                        type: string;
                    }>;
                    stateMutability: string;
                    type: string;
                }>;
                evm: {
                    bytecode: {
                        object: string;
                    };
                };
            };
        };
    };
    errors?: Array<SolcError>;
};
export declare function resolveInputs(sources: SolcInput): SolcInput;
export declare function compile(sources: SolcInput, option?: {
    bin?: string;
}): Promise<SolcOutput>;
/**
 * Resolve an import path to a file path.
 * @param importPath - The import path to resolve.
 */
export declare function tryResolveImport(importPath: string): string;
export {};
