import { UserConfig } from "@commitlint/types"; import { Component, JsonFile } from "projen"; import { NodeProject } from "projen/lib/javascript"; import { DeepRequired } from "../util/deep-required"; import { Dynamic } from "../util/dynamic"; /** * option to enable or disable commitlint */ export declare type CommitlintOptions = { /** * enable or disable commitlint * * @default true */ commitlint?: boolean; commitlintOptions?: UserConfig; }; /** * The `Commitlint` component adds [conventional-changelog/commitlint](https://github.com/conventional-changelog/commitlint) to * your project, which checks if your commit messages meet the [conventional commit format](https://conventionalcommits.org/). */ export declare class Commitlint extends Component { static defaultOptions: Dynamic> & Required>, NodeProject>; options: DeepRequired> & Required>; commitlintrc?: JsonFile; /** * adds commitlint to the project * * @param project the project to add to * @param options - see `CommitLintOptions` */ constructor(project: NodeProject, options?: Dynamic); /** * Called before synthesis. */ preSynthesize(): void; }