import { ModerationResponse, ModerationResult } from "../providers/Provider.js";
/**
 * Represents the results of a moderation request.
 * Can contain one or multiple results if multiple inputs were provided.
 */
export declare class Moderation implements Iterable<ModerationItem> {
    private readonly response;
    constructor(response: ModerationResponse);
    get id(): string;
    get model(): string;
    /**
     * Returns all results as ModerationItem instances
     */
    get results(): ModerationItem[];
    /**
     * Returns the number of results
     */
    get length(): number;
    /**
     * Returns true if any of the results are flagged
     */
    get flagged(): boolean;
    /**
     * Aggregates all flagged categories across all results
     */
    get flaggedCategories(): string[];
    /**
     * Returns categories for the first result (most common case)
     */
    get categories(): Record<string, boolean>;
    /**
     * Returns category scores for the first result
     */
    get categoryScores(): Record<string, number>;
    get flagged_categories(): string[];
    get category_scores(): Record<string, number>;
    isFlagged(): boolean;
    /**
     * Makes the Moderation object iterable (yields results)
     */
    [Symbol.iterator](): Iterator<ModerationItem>;
}
/**
 * Represents a single result within a moderation request
 */
export declare class ModerationItem {
    readonly raw: ModerationResult;
    constructor(raw: ModerationResult);
    get flagged(): boolean;
    get categories(): Record<string, boolean>;
    get categoryScores(): Record<string, number>;
    get flaggedCategories(): string[];
    get flagged_categories(): string[];
    get category_scores(): Record<string, number>;
}
//# sourceMappingURL=Moderation.d.ts.map