import ts from 'typescript';
export interface NamespaceImport {
    readonly alias: string;
    readonly source: string;
}
export interface DefineBackendEntry {
    readonly key: string;
    readonly alias: string;
    readonly exportName: string;
}
export interface PostDefineBackendCall {
    readonly variableName: string;
    readonly expression: string;
}
export interface EscapeHatchCall {
    readonly alias: string;
    readonly extraArgs: readonly string[];
}
export interface BackendRenderOptions {
    readonly namespaceImports: readonly NamespaceImport[];
    readonly defineBackendEntries: readonly DefineBackendEntry[];
    readonly postDefineBackendCalls: readonly PostDefineBackendCall[];
    readonly postDefineBackendStatements: readonly string[];
    readonly postRefactorCalls: readonly string[];
    readonly escapeHatchCalls: readonly EscapeHatchCall[];
}
export declare class BackendRenderer {
    render(options: BackendRenderOptions): ts.NodeArray<ts.Node>;
    private renderNamespaceImport;
    private renderDefineBackendImport;
    private renderDefineBackendCall;
    private renderBackendTypeExport;
    private renderPostRefactorFunction;
    private renderEscapeHatchCall;
    private renderCommentedPostRefactor;
}
//# sourceMappingURL=backend.renderer.d.ts.map