import type { PaginatedResult } from '../../models/PaginatedResult';
import type { SuiteMetadata, SuitesQuery } from '../../models/SuiteMetadata';
/**
 * Persistence interface for suite metadata.
 *
 * Suites are named groups of tests with default options.
 */
export interface SuitesPersistence {
    /** Create a new suite. */
    createSuite(suiteMetadata: SuiteMetadata): Promise<void>;
    /** Update an existing suite. Throws SuiteNotFoundException if not found. */
    updateSuite(suiteMetadata: SuiteMetadata): Promise<void>;
    /** Get a suite by ID. Throws SuiteNotFoundException if not found. */
    getSuiteById(suiteId: string): Promise<SuiteMetadata>;
    /** List suites with optional filtering and pagination. */
    getSuites(query: SuitesQuery): Promise<PaginatedResult<SuiteMetadata>>;
    /** Delete a suite. */
    deleteSuite(suiteId: string): Promise<void>;
}
//# sourceMappingURL=SuitesPersistence.d.ts.map