import { ClassDeclaration, SourceFile, WriterFunction } from 'ts-morph';
export interface CoerceDataSourceClassOptions {
    name: string;
    providedInRoot?: boolean;
    decorator?: {
        name: string;
        moduleSpecifier: string;
        argument?: string | WriterFunction;
    };
    extends?: {
        name: string;
        moduleSpecifier: string;
    };
    coerceDecorator?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions) => void;
    coerceExtends?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions) => void;
}
export declare function CoerceRxapDataSourceDecorator(sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions): void;
export declare function CoerceExtendsBaseDataSource(sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions): void;
export declare function CoerceDataSourceClass(sourceFile: SourceFile, options: CoerceDataSourceClassOptions): ClassDeclaration;
