import { ClassDeclarationStructure, ObjectLiteralExpression, OptionalKind, SourceFile } from 'ts-morph';
export interface CoerceComponentOptions {
    selector?: string | false;
    prefix?: string;
    template?: string;
    styles?: string;
    /**
     * true - use the component name to generate the templateUrl
     */
    templateUrl?: string | true;
    /**
     * true - use the component name to generate a styleUrl
     */
    styleUrls?: string | string[] | true;
    changeDetection?: 'OnPush' | 'Default';
}
export declare function CoerceComponent(sourceFile: SourceFile, name: string, options?: CoerceComponentOptions, classStructure?: Omit<OptionalKind<ClassDeclarationStructure>, 'name'>): {
    classDeclaration: import("ts-morph").ClassDeclaration;
    componentDecoratorObject: ObjectLiteralExpression;
};
