import { MongoCollectionClass } from '../../mongo-collection.js';
import { CreatePlanDto, Plan, UpdatePlanDto } from '@tmlmobilidade/types';
import { IndexDescription } from 'mongodb';
import { z } from 'zod';
declare class PlansClass extends MongoCollectionClass<Plan, CreatePlanDto, UpdatePlanDto> {
    private static _instance;
    protected createSchema: z.ZodSchema;
    protected updateSchema: z.ZodSchema;
    private constructor();
    static getInstance(): Promise<PlansClass>;
    /**
     * Finds Plan documents by agency ID.
     *
     * @param id - The agency ID to search for
     * @returns A promise that resolves to an array of matching documents
     */
    findByAgencyId(id: string): Promise<import("mongodb").WithId<Plan>[]>;
    protected getCollectionIndexes(): IndexDescription[];
    protected getCollectionName(): string;
    protected getEnvName(): string;
}
export declare const plans: PlansClass;
export {};
