import type { ReleasePlanTemplate } from './release-plan-template.js';
import { CRUDStore, type CrudStoreConfig } from '../../db/crud/crud-store.js';
import type { Row } from '../../db/crud/row-type.js';
import type { Db } from '../../db/db.js';
export type ReleasePlanTemplateWriteModel = Omit<ReleasePlanTemplate, 'id' | 'createdAt' | 'milestones'>;
export declare class ReleasePlanTemplateStore extends CRUDStore<ReleasePlanTemplate, ReleasePlanTemplateWriteModel, Row<ReleasePlanTemplate>, ReleasePlanTemplate, string> {
    constructor(db: Db, config: CrudStoreConfig);
    getAll(): Promise<ReleasePlanTemplate[]>;
    count(query?: Partial<ReleasePlanTemplateWriteModel>): Promise<number>;
    checkNameAlreadyExists(name: string, id?: string): Promise<boolean>;
    processReleasePlanTemplateRows(templateRows: any): ReleasePlanTemplate;
    getById(id: string): Promise<ReleasePlanTemplate>;
    insert(item: ReleasePlanTemplateWriteModel): Promise<ReleasePlanTemplate>;
    archive(id: string): Promise<void>;
}
//# sourceMappingURL=release-plan-template-store.d.ts.map