export interface Configuration { max_tags_to_fetch : number ; max_pull_requests : number ; max_back_track_time_days : number ; exclude_merge_branches : string [ ] ; sort : string ; template : string ; pr_template : string ; empty_template : string ; categories : Category [ ] ; ignore_labels : string [ ] ; label_extractor : Extractor [ ] ; duplicate_filter ? : Extractor ; transformers : Transformer [ ] ; tag_resolver : TagResolver ; base_branches : string [ ] ; } export interface Category { title : string ; labels : string [ ] ; exhaustive ? : boolean ; } export interface Regex { pattern : string ; flags ? : string ; } export interface Transformer extends Regex { target ? : string ; } export interface Extractor extends Transformer { on_property ? : 'title' | 'author' | 'milestone' | 'body' | undefined ; method ? : 'replace' | 'match' | undefined ; on_empty ? : string | undefined ; } export interface TagResolver { method : string ; filter ? : Regex ; transformer ? : Transformer ; } export const DefaultConfiguration = { max_tags_to_fetch : 200 , max_pull_requests : 200 , max_back_track_time_days : 365 , exclude_merge_branches : [ ] , sort : 'ASC' , template : '${{CHANGELOG}}' , pr_template : '- ${{TITLE}}\n   - PR: #${{NUMBER}}' , empty_template : '- no changes' , categories : [ { title : '## 🚀 Features' , labels : [ 'feature' ] } , { title : '## 🐛 Fixes' , labels : [ 'fix' ] } , { title : '## 🧪 Tests' , labels : [ 'test' ] } ] , ignore_labels : [ 'ignore' ] , label_extractor : [ ] , duplicate_filter : undefined , transformers : [ ] , tag_resolver : { method : 'semver' , filter : undefined , transformer : undefined } , base_branches : [ ] } ;