/**
 * Shared JSON schema definitions for structured output across tools.
 * These schemas define the format of structured data returned by various tools.
 */
/**
 * Schema for pricing information
 */
export declare const pricingSchema: {
    type: "object";
    properties: {
        model: {
            type: string;
            description: string;
        };
        isFree: {
            type: string;
            description: string;
        };
        pricePerUnit: {
            type: string;
            description: string;
        };
        unitName: {
            type: string;
            description: string;
        };
        trialMinutes: {
            type: string;
            description: string;
        };
        tieredPricing: {
            type: "array";
            items: {
                type: "object";
                properties: {
                    tier: {
                        type: string;
                        description: string;
                    };
                    pricePerUnit: {
                        type: string;
                        description: string;
                    };
                };
            };
            description: string;
        };
        events: {
            type: "array";
            items: {
                type: "object";
                properties: {
                    title: {
                        type: string;
                        description: string;
                    };
                    description: {
                        type: string;
                        description: string;
                    };
                    priceUsd: {
                        type: string;
                        description: string;
                    };
                    tieredPricing: {
                        type: "array";
                        items: {
                            type: "object";
                            properties: {
                                tier: {
                                    type: string;
                                };
                                priceUsd: {
                                    type: string;
                                };
                            };
                        };
                    };
                };
            };
            description: string;
        };
    };
    required: string[];
};
/**
 * Schema for Actor statistics
 */
export declare const statsSchema: {
    type: "object";
    properties: {
        totalUsers: {
            type: string;
            description: string;
        };
        monthlyUsers: {
            type: string;
            description: string;
        };
        successRate: {
            type: string;
            description: string;
        };
        bookmarks: {
            type: string;
            description: string;
        };
    };
};
/**
 * Schema for Actor information (card)
 * Used in both search results and detailed Actor info
 */
export declare const actorInfoSchema: {
    type: "object";
    properties: {
        title: {
            type: string;
            description: string;
        };
        url: {
            type: string;
            description: string;
        };
        fullName: {
            type: string;
            description: string;
        };
        developer: {
            type: "object";
            properties: {
                username: {
                    type: string;
                    description: string;
                };
                isOfficialApify: {
                    type: string;
                    description: string;
                };
                url: {
                    type: string;
                    description: string;
                };
            };
            required: string[];
        };
        description: {
            type: string;
            description: string;
        };
        categories: {
            type: "array";
            items: {
                type: string;
            };
            description: string;
        };
        pricing: {
            type: "object";
            properties: {
                model: {
                    type: string;
                    description: string;
                };
                isFree: {
                    type: string;
                    description: string;
                };
                pricePerUnit: {
                    type: string;
                    description: string;
                };
                unitName: {
                    type: string;
                    description: string;
                };
                trialMinutes: {
                    type: string;
                    description: string;
                };
                tieredPricing: {
                    type: "array";
                    items: {
                        type: "object";
                        properties: {
                            tier: {
                                type: string;
                                description: string;
                            };
                            pricePerUnit: {
                                type: string;
                                description: string;
                            };
                        };
                    };
                    description: string;
                };
                events: {
                    type: "array";
                    items: {
                        type: "object";
                        properties: {
                            title: {
                                type: string;
                                description: string;
                            };
                            description: {
                                type: string;
                                description: string;
                            };
                            priceUsd: {
                                type: string;
                                description: string;
                            };
                            tieredPricing: {
                                type: "array";
                                items: {
                                    type: "object";
                                    properties: {
                                        tier: {
                                            type: string;
                                        };
                                        priceUsd: {
                                            type: string;
                                        };
                                    };
                                };
                            };
                        };
                    };
                    description: string;
                };
            };
            required: string[];
        };
        stats: {
            type: "object";
            properties: {
                totalUsers: {
                    type: string;
                    description: string;
                };
                monthlyUsers: {
                    type: string;
                    description: string;
                };
                successRate: {
                    type: string;
                    description: string;
                };
                bookmarks: {
                    type: string;
                    description: string;
                };
            };
        };
        rating: {
            type: "object";
            properties: {
                average: {
                    type: string;
                    description: string;
                };
                count: {
                    type: string;
                    description: string;
                };
            };
        };
        modifiedAt: {
            type: string;
            description: string;
        };
        isDeprecated: {
            type: string;
            description: string;
        };
    };
    required: string[];
};
/**
 * Schema for Actor details output (fetch-actor-details tool)
 * All fields are optional since the tool supports selective output via the 'output' parameter
 *
 * NOTE on `readme`: This field contains the abridged README summary when the Actor has one,
 * falling back to the full README otherwise. The field is named `readme` (not `readmeSummary`)
 * to stay consistent with the widget UI contract. Most Actors should have a summary defined,
 * so the full README fallback is only expected in niche cases.
 */
export declare const actorDetailsOutputSchema: {
    type: "object";
    properties: {
        actorInfo: {
            type: "object";
            properties: {
                title: {
                    type: string;
                    description: string;
                };
                url: {
                    type: string;
                    description: string;
                };
                fullName: {
                    type: string;
                    description: string;
                };
                developer: {
                    type: "object";
                    properties: {
                        username: {
                            type: string;
                            description: string;
                        };
                        isOfficialApify: {
                            type: string;
                            description: string;
                        };
                        url: {
                            type: string;
                            description: string;
                        };
                    };
                    required: string[];
                };
                description: {
                    type: string;
                    description: string;
                };
                categories: {
                    type: "array";
                    items: {
                        type: string;
                    };
                    description: string;
                };
                pricing: {
                    type: "object";
                    properties: {
                        model: {
                            type: string;
                            description: string;
                        };
                        isFree: {
                            type: string;
                            description: string;
                        };
                        pricePerUnit: {
                            type: string;
                            description: string;
                        };
                        unitName: {
                            type: string;
                            description: string;
                        };
                        trialMinutes: {
                            type: string;
                            description: string;
                        };
                        tieredPricing: {
                            type: "array";
                            items: {
                                type: "object";
                                properties: {
                                    tier: {
                                        type: string;
                                        description: string;
                                    };
                                    pricePerUnit: {
                                        type: string;
                                        description: string;
                                    };
                                };
                            };
                            description: string;
                        };
                        events: {
                            type: "array";
                            items: {
                                type: "object";
                                properties: {
                                    title: {
                                        type: string;
                                        description: string;
                                    };
                                    description: {
                                        type: string;
                                        description: string;
                                    };
                                    priceUsd: {
                                        type: string;
                                        description: string;
                                    };
                                    tieredPricing: {
                                        type: "array";
                                        items: {
                                            type: "object";
                                            properties: {
                                                tier: {
                                                    type: string;
                                                };
                                                priceUsd: {
                                                    type: string;
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                            description: string;
                        };
                    };
                    required: string[];
                };
                stats: {
                    type: "object";
                    properties: {
                        totalUsers: {
                            type: string;
                            description: string;
                        };
                        monthlyUsers: {
                            type: string;
                            description: string;
                        };
                        successRate: {
                            type: string;
                            description: string;
                        };
                        bookmarks: {
                            type: string;
                            description: string;
                        };
                    };
                };
                rating: {
                    type: "object";
                    properties: {
                        average: {
                            type: string;
                            description: string;
                        };
                        count: {
                            type: string;
                            description: string;
                        };
                    };
                };
                modifiedAt: {
                    type: string;
                    description: string;
                };
                isDeprecated: {
                    type: string;
                    description: string;
                };
            };
            required: string[];
        };
        readme: {
            type: string;
            description: string;
        };
        inputSchema: {
            type: "object";
            description: string;
        };
        outputSchema: {
            type: "object";
            description: string;
        };
    };
};
/**
 * Schema for search results output (store-search tool)
 */
export declare const actorSearchOutputSchema: {
    type: "object";
    properties: {
        actors: {
            type: "array";
            items: {
                type: "object";
                properties: {
                    title: {
                        type: string;
                        description: string;
                    };
                    url: {
                        type: string;
                        description: string;
                    };
                    fullName: {
                        type: string;
                        description: string;
                    };
                    developer: {
                        type: "object";
                        properties: {
                            username: {
                                type: string;
                                description: string;
                            };
                            isOfficialApify: {
                                type: string;
                                description: string;
                            };
                            url: {
                                type: string;
                                description: string;
                            };
                        };
                        required: string[];
                    };
                    description: {
                        type: string;
                        description: string;
                    };
                    categories: {
                        type: "array";
                        items: {
                            type: string;
                        };
                        description: string;
                    };
                    pricing: {
                        type: "object";
                        properties: {
                            model: {
                                type: string;
                                description: string;
                            };
                            isFree: {
                                type: string;
                                description: string;
                            };
                            pricePerUnit: {
                                type: string;
                                description: string;
                            };
                            unitName: {
                                type: string;
                                description: string;
                            };
                            trialMinutes: {
                                type: string;
                                description: string;
                            };
                            tieredPricing: {
                                type: "array";
                                items: {
                                    type: "object";
                                    properties: {
                                        tier: {
                                            type: string;
                                            description: string;
                                        };
                                        pricePerUnit: {
                                            type: string;
                                            description: string;
                                        };
                                    };
                                };
                                description: string;
                            };
                            events: {
                                type: "array";
                                items: {
                                    type: "object";
                                    properties: {
                                        title: {
                                            type: string;
                                            description: string;
                                        };
                                        description: {
                                            type: string;
                                            description: string;
                                        };
                                        priceUsd: {
                                            type: string;
                                            description: string;
                                        };
                                        tieredPricing: {
                                            type: "array";
                                            items: {
                                                type: "object";
                                                properties: {
                                                    tier: {
                                                        type: string;
                                                    };
                                                    priceUsd: {
                                                        type: string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                                description: string;
                            };
                        };
                        required: string[];
                    };
                    stats: {
                        type: "object";
                        properties: {
                            totalUsers: {
                                type: string;
                                description: string;
                            };
                            monthlyUsers: {
                                type: string;
                                description: string;
                            };
                            successRate: {
                                type: string;
                                description: string;
                            };
                            bookmarks: {
                                type: string;
                                description: string;
                            };
                        };
                    };
                    rating: {
                        type: "object";
                        properties: {
                            average: {
                                type: string;
                                description: string;
                            };
                            count: {
                                type: string;
                                description: string;
                            };
                        };
                    };
                    modifiedAt: {
                        type: string;
                        description: string;
                    };
                    isDeprecated: {
                        type: string;
                        description: string;
                    };
                };
                required: string[];
            };
            description: string;
        };
        query: {
            type: string;
            description: string;
        };
        count: {
            type: string;
            description: string;
        };
        instructions: {
            type: string;
            description: string;
        };
    };
    required: string[];
};
/**
 * Schema for internal search results (search-actors-internal tool)
 */
export declare const actorSearchInternalOutputSchema: {
    type: "object";
    properties: {
        actors: {
            type: "array";
            items: {
                type: "object";
                properties: {
                    fullName: {
                        type: string;
                        description: string;
                    };
                    title: {
                        type: string;
                        description: string;
                    };
                    description: {
                        type: string;
                        description: string;
                    };
                };
                required: string[];
            };
        };
        query: {
            type: string;
            description: string;
        };
        count: {
            type: string;
            description: string;
        };
    };
    required: string[];
};
export declare const searchApifyDocsToolOutputSchema: {
    type: "object";
    properties: {
        results: {
            type: "array";
            items: {
                type: "object";
                properties: {
                    url: {
                        type: string;
                        description: string;
                    };
                    content: {
                        type: string;
                        description: string;
                    };
                };
                required: string[];
            };
        };
        instructions: {
            type: string;
            description: string;
        };
    };
    required: string[];
};
export declare const fetchApifyDocsToolOutputSchema: {
    type: "object";
    properties: {
        url: {
            type: string;
            description: string;
        };
        content: {
            type: string;
            description: string;
        };
    };
    required: string[];
};
/**
 * Schema for call-actor and direct actor tool outputs.
 * Contains Actor run metadata and dataset items (sync mode only).
 * In async mode, only runId is present.
 */
export declare const callActorOutputSchema: {
    type: "object";
    properties: {
        runId: {
            type: string;
            description: string;
        };
        actorName: {
            type: string;
            description: string;
        };
        status: {
            type: string;
            description: string;
        };
        startedAt: {
            type: string;
            description: string;
        };
        input: {
            type: "object";
            description: string;
        };
        datasetId: {
            type: string;
            description: string;
        };
        totalItemCount: {
            type: string;
            description: string;
        };
        items: {
            type: "array";
            items: {
                type: "object";
            };
            description: string;
        };
        instructions: {
            type: string;
            description: string;
        };
    };
    required: string[];
};
/**
 * Schema for get-actor-run tool output.
 * Contains full run information including status, timestamps, stats, and dataset preview.
 */
export declare const getActorRunOutputSchema: {
    type: "object";
    properties: {
        runId: {
            type: string;
            description: string;
        };
        actorName: {
            type: string;
            description: string;
        };
        status: {
            type: string;
            description: string;
        };
        startedAt: {
            type: string;
            description: string;
        };
        finishedAt: {
            type: string;
            description: string;
        };
        stats: {
            type: "object";
            description: string;
        };
        dataset: {
            type: "object";
            description: string;
            properties: {
                datasetId: {
                    type: string;
                    description: string;
                };
                totalItemCount: {
                    type: string;
                    description: string;
                };
                previewItemCount: {
                    type: string;
                    description: string;
                };
                schema: {
                    type: "object";
                    description: string;
                };
                previewItems: {
                    type: "array";
                    items: {
                        type: "object";
                    };
                    description: string;
                };
            };
            required: string[];
        };
    };
    required: string[];
};
/**
 * Schema for dataset items retrieval tools (get-actor-output, get-dataset-items).
 * Contains dataset items with pagination and count information.
 */
export declare const datasetItemsOutputSchema: {
    type: "object";
    properties: {
        datasetId: {
            type: string;
            description: string;
        };
        items: {
            type: "array";
            items: {
                type: "object";
            };
            description: string;
        };
        itemCount: {
            type: string;
            description: string;
        };
        totalItemCount: {
            type: string;
            description: string;
        };
        offset: {
            type: string;
            description: string;
        };
        limit: {
            type: string;
            description: string;
        };
    };
    required: string[];
};
/**
 * Creates an enriched version of callActorOutputSchema where the `items` field
 * contains actual property definitions inferred from Actor run history.
 *
 * @param itemProperties - JSON Schema properties object describing dataset item fields
 *   (e.g., `{ url: { type: 'string' }, price: { type: 'number' } }`)
 * @returns A copy of callActorOutputSchema with enriched items schema
 */
export declare function buildEnrichedCallActorOutputSchema(itemProperties: Record<string, unknown>): typeof callActorOutputSchema;
//# sourceMappingURL=structured_output_schemas.d.ts.map