import type { Deity, Bilingual } from '../types.js';
import type { MantraSlug } from '../mantras/index.js';
export interface PujaMantra {
    jaapSlug: MantraSlug | null;
    devanagari: string;
    iast: string;
    meaning: Bilingual;
    reviewPending?: boolean;
}
export interface UpacharaName {
    sanskrit: string;
    en: string;
    hi: string;
}
export type UpacharaSlug = 'dhyana-avahana' | 'asana' | 'padya' | 'arghya' | 'achamana' | 'madhuparka' | 'snana' | 'vastra' | 'yajnopavita' | 'gandha' | 'pushpa-archana' | 'dhupa' | 'deepa' | 'naivedya' | 'tambula' | 'neerajanam-aarti';
export interface Upachara {
    slug: UpacharaSlug;
    name: UpacharaName;
    line: Bilingual;
    mantra?: PujaMantra;
    samagriRefs?: string[];
}
export interface ArcStep {
    slug: string;
    name: UpacharaName;
    line: Bilingual;
    mantra?: PujaMantra;
    conditional?: Bilingual;
}
export interface PujaSamagriItem {
    label: Bilingual;
    group?: Bilingual;
    optional?: boolean;
}
export type PostPujaLink = {
    kind: 'aarti';
    deity: Deity;
    label?: Bilingual;
} | {
    kind: 'chalisa';
    deity: Deity;
    label?: Bilingual;
} | {
    kind: 'mantra-jaap';
    jaapSlug: MantraSlug | null;
    customText?: string;
    label: Bilingual;
} | {
    kind: 'muhurat';
    occasion: 'pradosh' | 'purnima' | 'ekadashi' | 'monday';
    label: Bilingual;
    href?: string;
} | {
    kind: 'festival';
    festivalName: string;
    label: Bilingual;
} | {
    kind: 'vaar';
    dayKey: 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday';
    label: Bilingual;
};
export interface StotraKathaRef {
    kind: 'aarti' | 'chalisa' | 'katha' | 'stotra-text';
    deity?: Deity;
    label: Bilingual;
    note: Bilingual;
}
export interface FestivalMatch {
    needle: string;
    note?: Bilingual;
}
export interface VariantNote {
    label: Bilingual;
    text: Bilingual;
}
export interface Puja {
    slug: string;
    name: Bilingual;
    kicker: Bilingual;
    whenWhy: Bilingual;
    rosterDeity?: Deity;
    samagri: PujaSamagriItem[];
    sankalpa: Bilingual;
    preUpacharas: ArcStep[];
    upacharas: Upachara[];
    postUpacharas: ArcStep[];
    stotraKathaRef?: StotraKathaRef;
    postPujaLinks: PostPujaLink[];
    festivalMatchers?: FestivalMatch[];
    sources: Bilingual;
    variantNotes: VariantNote[];
}
//# sourceMappingURL=types.d.ts.map