import * as conventional_changelog_storm_software_types_commit_types from 'conventional-changelog-storm-software/types/commit-types';
import { CommitScopesEnum } from '../../types.cjs';
import '@nx/devkit';
import '@storm-software/config/types';
import 'conventional-changelog-storm-software/types/commitlint';
import 'nx/src/command-line/release/config/config';
import 'nx/src/config/nx-json';

declare const DEFAULT_MONOREPO_COMMIT_QUESTIONS: {
    readonly type: {
        readonly type: "select";
        readonly title: "Commit Type";
        readonly description: "Select the commit type that best describes your changes";
        readonly enum: conventional_changelog_storm_software_types_commit_types.CommitTypesEnum;
        readonly defaultValue: "chore";
        readonly maxLength: 20;
        readonly minLength: 3;
    };
    readonly scope: {
        readonly type: "select";
        readonly title: "Commit Scope";
        readonly description: "Select the project that's the most impacted by this change";
        readonly enum: CommitScopesEnum;
        readonly defaultValue: "monorepo";
        readonly maxLength: 50;
        readonly minLength: 1;
    };
    readonly subject: {
        readonly type: "input";
        readonly title: "Commit Subject";
        readonly description: "Write a short, imperative tense description of the change";
        readonly maxLength: 150;
        readonly minLength: 3;
    };
    readonly body: {
        readonly type: "input";
        readonly title: "Commit Body";
        readonly description: "Provide a longer description of the change";
        readonly maxLength: 600;
    };
    readonly isBreaking: {
        readonly type: "confirm";
        readonly title: "Breaking Changes";
        readonly description: "Are there any breaking changes as a result of this commit?";
        readonly defaultValue: false;
    };
    readonly breakingBody: {
        readonly type: "input";
        readonly title: "Breaking Changes (Details)";
        readonly description: "A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself";
        readonly when: (answers: Record<string, any>) => boolean;
        readonly maxLength: 600;
        readonly minLength: 3;
    };
    readonly isIssueAffected: {
        readonly type: "confirm";
        readonly title: "Open Issue Affected";
        readonly description: "Does this change impact any open issues?";
        readonly defaultValue: false;
    };
    readonly issuesBody: {
        readonly type: "input";
        readonly title: "Open Issue Affected (Details)";
        readonly description: "If issues are closed, the commit requires a body. Please enter a longer description of the commit itself";
        readonly when: (answers: Record<string, any>) => boolean;
        readonly maxLength: 600;
        readonly minLength: 3;
    };
};
declare const config: {
    settings: {
        enableMultipleScopes: boolean;
        disableEmoji: boolean;
        breakingChangePrefix: string;
        closedIssuePrefix: string;
        format: string;
    };
    messages: {
        readonly skip: "press enter to skip";
        readonly max: "must be %d chars at most";
        readonly min: "must be %d chars at least";
        readonly emptyWarning: "can not be empty";
        readonly upperLimitWarning: "%s is %d characters longer than the upper limit";
        readonly lowerLimitWarning: "%s is %d characters less than the lower limit";
        readonly closedIssueMessage: "Closes: ";
    };
    questions: {
        readonly type: {
            readonly type: "select";
            readonly title: "Commit Type";
            readonly description: "Select the commit type that best describes your changes";
            readonly enum: conventional_changelog_storm_software_types_commit_types.CommitTypesEnum;
            readonly defaultValue: "chore";
            readonly maxLength: 20;
            readonly minLength: 3;
        };
        readonly scope: {
            readonly type: "select";
            readonly title: "Commit Scope";
            readonly description: "Select the project that's the most impacted by this change";
            readonly enum: CommitScopesEnum;
            readonly defaultValue: "monorepo";
            readonly maxLength: 50;
            readonly minLength: 1;
        };
        readonly subject: {
            readonly type: "input";
            readonly title: "Commit Subject";
            readonly description: "Write a short, imperative tense description of the change";
            readonly maxLength: 150;
            readonly minLength: 3;
        };
        readonly body: {
            readonly type: "input";
            readonly title: "Commit Body";
            readonly description: "Provide a longer description of the change";
            readonly maxLength: 600;
        };
        readonly isBreaking: {
            readonly type: "confirm";
            readonly title: "Breaking Changes";
            readonly description: "Are there any breaking changes as a result of this commit?";
            readonly defaultValue: false;
        };
        readonly breakingBody: {
            readonly type: "input";
            readonly title: "Breaking Changes (Details)";
            readonly description: "A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself";
            readonly when: (answers: Record<string, any>) => boolean;
            readonly maxLength: 600;
            readonly minLength: 3;
        };
        readonly isIssueAffected: {
            readonly type: "confirm";
            readonly title: "Open Issue Affected";
            readonly description: "Does this change impact any open issues?";
            readonly defaultValue: false;
        };
        readonly issuesBody: {
            readonly type: "input";
            readonly title: "Open Issue Affected (Details)";
            readonly description: "If issues are closed, the commit requires a body. Please enter a longer description of the commit itself";
            readonly when: (answers: Record<string, any>) => boolean;
            readonly maxLength: 600;
            readonly minLength: 3;
        };
    };
    types: {
        readonly chore: {
            readonly description: "Other changes that don't modify src or test files";
            readonly title: "Chore";
            readonly emoji: "⚙️  ";
            readonly semverBump: "patch";
            readonly changelog: {
                readonly title: "Miscellaneous";
                readonly hidden: false;
            };
        };
        readonly fix: {
            readonly description: "A change that resolves an issue previously identified with the package";
            readonly title: "Bug Fix";
            readonly emoji: "🪲  ";
            readonly semverBump: "patch";
            readonly changelog: {
                readonly title: "Bug Fixes";
                readonly hidden: false;
            };
        };
        readonly feat: {
            readonly description: "A change that adds a new feature to the package";
            readonly title: "Feature";
            readonly emoji: "🔑 ";
            readonly semverBump: "minor";
            readonly changelog: {
                readonly title: "Features";
                readonly hidden: false;
            };
        };
        readonly ci: {
            readonly description: "Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)";
            readonly title: "Continuous Integration";
            readonly emoji: "🧰 ";
            readonly semverBump: "patch";
            readonly changelog: {
                readonly title: "Continuous Integration";
                readonly hidden: false;
            };
        };
        readonly refactor: {
            readonly description: "A code change that neither fixes a bug nor adds a feature";
            readonly title: "Code Refactoring";
            readonly emoji: "🧪 ";
            readonly semverBump: "patch";
            readonly changelog: {
                readonly title: "Source Code Improvements";
                readonly hidden: false;
            };
        };
        readonly style: {
            readonly description: "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)";
            readonly title: "Style Improvements";
            readonly emoji: "💎 ";
            readonly semverBump: "patch";
            readonly changelog: {
                readonly title: "Style Improvements";
                readonly hidden: false;
            };
        };
        readonly perf: {
            readonly description: "A code change that improves performance";
            readonly title: "Performance Improvement";
            readonly emoji: "⏱️  ";
            readonly semverBump: "patch";
            readonly changelog: {
                readonly title: "Performance Improvements";
                readonly hidden: false;
            };
        };
        readonly docs: {
            readonly description: "A change that only includes documentation updates";
            readonly title: "Documentation";
            readonly emoji: "📜 ";
            readonly semverBump: "none";
            readonly changelog: {
                readonly title: "Documentation";
                readonly hidden: false;
            };
        };
        readonly test: {
            readonly description: "Adding missing tests or correcting existing tests";
            readonly title: "Testing";
            readonly emoji: "🚨 ";
            readonly semverBump: "none";
            readonly changelog: {
                readonly title: "Testing";
                readonly hidden: true;
            };
        };
        readonly deps: {
            readonly description: "Changes that add, update, or remove dependencies. This includes devDependencies and peerDependencies";
            readonly title: "Dependencies";
            readonly emoji: "📦 ";
            readonly hidden: true;
            readonly semverBump: "patch";
            readonly changelog: {
                readonly title: "Dependency Upgrades";
                readonly hidden: false;
            };
        };
        readonly build: {
            readonly description: "Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)";
            readonly title: "Build";
            readonly emoji: "🛠 ";
            readonly hidden: true;
            readonly semverBump: "none";
            readonly changelog: {
                readonly title: "Build";
                readonly hidden: true;
            };
        };
        readonly release: {
            readonly description: "Publishing a commit containing a newly released version";
            readonly title: "Publish Release";
            readonly emoji: "🚀 ";
            readonly hidden: true;
            readonly semverBump: "none";
            readonly changelog: {
                readonly title: "Publish Release";
                readonly hidden: true;
            };
        };
    };
};

export { DEFAULT_MONOREPO_COMMIT_QUESTIONS, config as default };
