import type { BaseResponse } from '../../../core/base-client';
import { type FyxerTranscriptCreateParams, type FyxerTranscriptListParams, type FyxerTranscriptUpdateParams } from '../schemas';
import type { AgrSiteClient } from '../client';
type ExecuteRequest = AgrSiteClient['executeRequest'];
/**
 * Creates the fyxerTranscript resource methods
 * OpenAPI Path: /fyxer-transcript → fyxerTranscript.*
 * @description AI-powered transcript processing and management for agricultural content and meeting documentation
 */
export declare function createFyxerTranscriptResource(executeRequest: ExecuteRequest): {
    /**
     * List all AI transcripts with optional filtering and pagination
     * @description Retrieves all Fyxer AI transcripts with support for filtering by content type, date, and agricultural topics
     * @fullPath api.agrSite.fyxerTranscript.list
     * @service agr-site
     * @domain site-content-management
     * @dataMethod fyxerTranscriptData.list - returns only the transcripts array without metadata
     * @discoverable true
     * @searchTerms ["transcripts", "AI transcripts", "fyxer", "meeting notes", "agricultural transcription", "audio processing", "speech to text"]
     * @relatedEndpoints ["api.agrSite.fyxerTranscript.get", "api.agrSite.fyxerTranscript.create", "api.agrSite.fyxerTranscript.update", "api.agrSite.fyxerTranscript.delete", "api.agrSite.openSearch.embedding.get"]
     * @commonPatterns ["Get all transcripts", "List meeting notes", "Retrieve AI processed content", "Agricultural transcript management"]
     * @workflow ["transcript-processing", "content-management", "agricultural-documentation", "ai-processing"]
     * @prerequisites ["Valid authentication token", "Transcript read permissions"]
     * @nextSteps ["api.agrSite.fyxerTranscript.get for details", "api.agrSite.openSearch.embedding.get for search optimization"]
     * @businessRules ["Returns only transcripts accessible to current user", "Content filtered by agricultural relevance", "Pagination required for large datasets"]
     * @functionalArea "site-content-and-ai-processing"
     * @caching "Cache for 5 minutes, invalidate on transcript changes"
     * @performance "Supports pagination, use date filters for large transcript collections"
     * @param params Optional filtering and pagination parameters
     * @returns Promise<BaseResponse<unknown[]>> Complete response with transcripts array and metadata
     * @example
     * ```typescript
     * // Get all transcripts
     * const response = await client.fyxerTranscript.list();
     * console.log(response.data); // Transcripts array
     *
     * // Get just the data
     * const transcripts = await client.fyxerTranscriptData.list();
     *
     * // Filter by date range
     * const recent = await client.fyxerTranscript.list({
     *   startDate: '2024-01-01',
     *   endDate: '2024-12-31'
     * });
     * ```
     */
    list: (params?: FyxerTranscriptListParams) => Promise<BaseResponse<unknown[]>>;
    /**
     * Get AI transcript details by ID
     * @description Retrieves detailed information for a specific Fyxer AI transcript including processed content and metadata
     * @fullPath api.agrSite.fyxerTranscript.get
     * @service agr-site
     * @domain site-content-management
     * @dataMethod fyxerTranscriptData.get - returns only the transcript data without metadata
     * @discoverable true
     * @searchTerms ["transcript detail", "AI transcript detail", "fyxer detail", "meeting detail", "transcript content"]
     * @relatedEndpoints ["api.agrSite.fyxerTranscript.list", "api.agrSite.fyxerTranscript.update", "api.agrSite.fyxerTranscript.delete", "api.agrSite.openSearch.embedding.get"]
     * @commonPatterns ["Get transcript details", "Retrieve AI processed content", "View meeting notes", "Access transcript data"]
     * @workflow ["transcript-processing", "content-review", "agricultural-documentation"]
     * @prerequisites ["Valid authentication token", "Transcript read permissions", "Valid transcript ID"]
     * @nextSteps ["api.agrSite.fyxerTranscript.update to modify", "api.agrSite.openSearch.embedding.get for search indexing"]
     * @businessRules ["Returns 404 if transcript not found", "Content may be sanitized for agricultural context", "Respects transcript-level permissions"]
     * @functionalArea "site-content-and-ai-processing"
     * @caching "Cache for 20 minutes, invalidate on transcript updates"
     * @performance "Direct ID lookup with content processing, moderate response time"
     * @param fyxerTranscriptHdrUid Unique identifier for the transcript
     * @returns Promise<BaseResponse<unknown>> Complete response with transcript details and processed content
     * @example
     * ```typescript
     * const transcript = await client.fyxerTranscript.get(456);
     * const transcriptData = await client.fyxerTranscriptData.get(456);
     * ```
     */
    get: (fyxerTranscriptHdrUid: number) => Promise<BaseResponse<unknown>>;
    /**
     * Create new AI transcript
     * @description Creates a new Fyxer AI transcript with audio processing and agricultural content analysis
     * @fullPath api.agrSite.fyxerTranscript.create
     * @service agr-site
     * @domain site-content-management
     * @dataMethod fyxerTranscriptData.create - returns only the created transcript data without metadata
     * @discoverable true
     * @searchTerms ["create transcript", "new AI transcript", "fyxer creation", "audio processing", "speech to text", "agricultural transcript"]
     * @relatedEndpoints ["api.agrSite.fyxerTranscript.list", "api.agrSite.fyxerTranscript.get", "api.agrSite.fyxerTranscript.update", "api.agrSite.openSearch.embedding.get"]
     * @commonPatterns ["Process audio to transcript", "Create meeting notes", "Generate AI transcript", "Agricultural content processing"]
     * @workflow ["transcript-processing", "content-creation", "ai-processing", "agricultural-documentation"]
     * @prerequisites ["Valid authentication token", "Transcript create permissions", "Valid audio/text data", "Agricultural content validation"]
     * @nextSteps ["api.agrSite.fyxerTranscript.get to verify", "api.agrSite.openSearch.embedding.get for search optimization"]
     * @businessRules ["AI processes content for agricultural relevance", "Creates searchable content index", "Validates audio format and quality"]
     * @functionalArea "site-content-and-ai-processing"
     * @performance "Asynchronous AI processing, may take 30-60 seconds for large files"
     * @param params Transcript creation parameters including audio data, title, and metadata
     * @returns Promise<BaseResponse<unknown>> Complete response with created transcript details and processing status
     * @example
     * ```typescript
     * const newTranscript = await client.fyxerTranscript.create({
     *   title: 'Farm Planning Meeting - Q1 2024',
     *   audioUrl: 'https://example.com/meeting-audio.mp3',
     *   metadata: {
     *     participants: ['John Doe', 'Jane Smith'],
     *     topics: ['crop rotation', 'irrigation planning'],
     *     meetingDate: '2024-01-15'
     *   }
     * });
     * ```
     */
    create: (params: FyxerTranscriptCreateParams) => Promise<BaseResponse<unknown>>;
    /**
     * Update existing AI transcript
     * @description Updates an existing Fyxer AI transcript with new content, metadata, or processing parameters
     * @fullPath api.agrSite.fyxerTranscript.update
     * @service agr-site
     * @domain site-content-management
     * @dataMethod fyxerTranscriptData.update - returns only the updated transcript data without metadata
     * @discoverable true
     * @searchTerms ["update transcript", "modify AI transcript", "edit fyxer", "transcript update", "content modification"]
     * @relatedEndpoints ["api.agrSite.fyxerTranscript.list", "api.agrSite.fyxerTranscript.get", "api.agrSite.fyxerTranscript.delete", "api.agrSite.openSearch.embedding.get"]
     * @commonPatterns ["Update transcript content", "Modify meeting notes", "Edit AI processed content", "Refine agricultural transcript"]
     * @workflow ["transcript-processing", "content-maintenance", "agricultural-documentation"]
     * @prerequisites ["Valid authentication token", "Transcript update permissions", "Existing transcript ID", "Valid update data"]
     * @nextSteps ["api.agrSite.fyxerTranscript.get to verify changes", "api.agrSite.openSearch.embedding.get to reindex"]
     * @businessRules ["Maintains processing history", "Re-analyzes content for agricultural relevance", "Updates search index automatically"]
     * @functionalArea "site-content-and-ai-processing"
     * @performance "May trigger AI reprocessing, moderate response time"
     * @param fyxerTranscriptHdrUid Unique identifier for the transcript to update
     * @param params Updated transcript parameters
     * @returns Promise<BaseResponse<unknown>> Complete response with updated transcript details
     * @example
     * ```typescript
     * const updated = await client.fyxerTranscript.update(456, {
     *   title: 'Updated Farm Planning Meeting - Q1 2024',
     *   metadata: {
     *     status: 'reviewed',
     *     tags: ['approved', 'implemented']
     *   }
     * });
     * ```
     */
    update: (fyxerTranscriptHdrUid: number, params: FyxerTranscriptUpdateParams) => Promise<BaseResponse<unknown>>;
    /**
     * Delete AI transcript
     * @description Removes a Fyxer AI transcript and all associated processed content from the system
     * @fullPath api.agrSite.fyxerTranscript.delete
     * @service agr-site
     * @domain site-content-management
     * @dataMethod fyxerTranscriptData.delete - returns only the deletion result without metadata
     * @discoverable true
     * @searchTerms ["delete transcript", "remove AI transcript", "delete fyxer", "remove transcript", "transcript cleanup"]
     * @relatedEndpoints ["api.agrSite.fyxerTranscript.list", "api.agrSite.fyxerTranscript.get", "api.agrSite.fyxerTranscript.create"]
     * @commonPatterns ["Delete transcript", "Remove meeting notes", "Clean up AI content", "Purge transcript data"]
     * @workflow ["transcript-processing", "content-cleanup", "data-management"]
     * @prerequisites ["Valid authentication token", "Transcript delete permissions", "Existing transcript ID"]
     * @nextSteps ["Search index cleanup", "Verify transcript removal with list operation"]
     * @businessRules ["Removes all associated files and embeddings", "Creates deletion audit log", "Irreversible operation"]
     * @functionalArea "site-content-and-ai-processing"
     * @performance "Cascading deletion with search index cleanup, may take several seconds"
     * @param fyxerTranscriptHdrUid Unique identifier for the transcript to delete
     * @returns Promise<BaseResponse<unknown>> Complete response confirming deletion and cleanup status
     * @example
     * ```typescript
     * const result = await client.fyxerTranscript.delete(456);
     * ```
     */
    delete: (fyxerTranscriptHdrUid: number) => Promise<BaseResponse<unknown>>;
};
/**
 * Creates the fyxerTranscriptData resource methods (data-only versions)
 */
export declare function createFyxerTranscriptDataResource(fyxerTranscript: ReturnType<typeof createFyxerTranscriptResource>): {
    /**
     * Get transcripts data without response metadata
     * @param params Optional filtering and pagination parameters
     * @returns Promise<unknown[]> Transcripts array directly
     */
    list: (params?: FyxerTranscriptListParams) => Promise<unknown[]>;
    /**
     * Get transcript data without response metadata
     * @param fyxerTranscriptHdrUid Unique identifier for the transcript
     * @returns Promise<unknown> Transcript data directly
     */
    get: (fyxerTranscriptHdrUid: number) => Promise<unknown>;
    /**
     * Create transcript and return data without response metadata
     * @param params Transcript creation parameters
     * @returns Promise<unknown> Created transcript data directly
     */
    create: (params: FyxerTranscriptCreateParams) => Promise<unknown>;
    /**
     * Update transcript and return data without response metadata
     * @param fyxerTranscriptHdrUid Unique identifier for the transcript to update
     * @param params Updated transcript parameters
     * @returns Promise<unknown> Updated transcript data directly
     */
    update: (fyxerTranscriptHdrUid: number, params: FyxerTranscriptUpdateParams) => Promise<unknown>;
    /**
     * Delete transcript and return result without response metadata
     * @param fyxerTranscriptHdrUid Unique identifier for the transcript to delete
     * @returns Promise<unknown> Deletion result directly
     */
    delete: (fyxerTranscriptHdrUid: number) => Promise<unknown>;
};
export type FyxerTranscriptResource = ReturnType<typeof createFyxerTranscriptResource>;
export type FyxerTranscriptDataResource = ReturnType<typeof createFyxerTranscriptDataResource>;
export {};
//# sourceMappingURL=fyxer-transcript.d.ts.map