import { FrontMatter, FrontMatterParser, LangService, TaxonomyService } from '../type';
export type Params = Record<string, any>;
/**
 * NewFrontMatter creates a new FrontMatter instance with default values
 * Exact replica of Go version: func NewFrontMatter() *FrontMatter
 */
export declare function newFrontMatter(): FrontMatter;
/**
 * FrontMatterParser class - exact replica of Go's FrontMatterParser struct
 */
export declare class FrontMatterParserImpl implements FrontMatterParser {
    params: Record<string, any> | undefined;
    langSvc: LangService;
    taxonomySvc: TaxonomyService;
    constructor(params: Record<string, any> | undefined, langSvc: LangService, taxonomySvc: TaxonomyService);
    /**
     * Parse front matter from parameters
     * Exact replica of Go version: func (b *FrontMatterParser) Parse() (*FrontMatter, error)
     */
    parse(): Promise<FrontMatter>;
    /**
     * Parse date field
     * Exact replica of Go version: func (b *FrontMatterParser) parseDate(fm *FrontMatter) error
     */
    private parseDate;
    /**
     * Parse weight field
     * Exact replica of Go version: func (b *FrontMatterParser) parseWeight(fm *FrontMatter) error
     */
    private parseWeight;
    /**
     * Parse title field
     * Exact replica of Go version: func (b *FrontMatterParser) parseTitle(fm *FrontMatter) error
     */
    private parseTitle;
    /**
     * Parse customized fields (path, lang, kind)
     * Exact replica of Go version: func (b *FrontMatterParser) parseCustomized(fm *FrontMatter) error
     */
    private parseCustomized;
    /**
     * Parse terms (taxonomies)
     * Exact replica of Go version: func (b *FrontMatterParser) parseTerms(fm *FrontMatter) error
     */
    private parseTerms;
    /**
     * Convert path to slash preserving leading slash
     * Equivalent to Go's paths.ToSlashPreserveLeading
     */
    private toSlashPreserveLeading;
}
/**
 * Get parameter with case-insensitive key lookup (lowercase version)
 * Exact replica of Go version: func GetParamToLower(m maps.Params, key string) any
 */
export declare function getParamToLower(m: Params, key: string): any;
/**
 * Get parameter with case-insensitive key lookup
 * Exact replica of Go version: func GetParam(p maps.Params, key string, stringToLower bool) any
 */
export declare function getParam(p: Record<string, any>, key: string, stringToLower: boolean): any;
//# sourceMappingURL=frontmatter.d.ts.map