///
import { PathLike } from 'fs';
import { TypeAliases, Idl, Serializers } from './types';
import { Options } from 'prettier';
export * from './types';
export declare class Solita {
private readonly idl;
private readonly formatCode;
private readonly formatOpts;
private readonly accountsHaveImplicitDiscriminator;
private readonly prependGeneratedWarning;
private readonly typeAliases;
private readonly serializers;
private readonly projectRoot;
private readonly hasInstructions;
private paths;
constructor(idl: Idl, { formatCode, formatOpts, prependGeneratedWarning, typeAliases, serializers, projectRoot, }?: {
formatCode?: boolean;
formatOpts?: Options;
prependGeneratedWarning?: boolean;
typeAliases?: TypeAliases;
serializers?: Serializers;
projectRoot?: string;
});
private accountFilesByType;
private customFilesByType;
private resolveFieldType;
renderCode(): {
instructions: Record;
accounts: Record;
types: Record;
errors: string | null;
};
renderAndWriteTo(outputDir: PathLike): Promise;
private writeInstructions;
private writeAccounts;
private writeTypes;
private writeErrors;
private writeMainIndex;
private renderImportIndex;
}