import { Connection } from '@salesforce/core';
import { type DataLibrarySummary, type DataLibraryDetail, type IndexingStatusResponse, type CreateLibraryInput, type UpdateLibraryInput, type UploadResult, type FileAddResult, type FileListResponse } from './dataLibraryTypes.js';
export { type DataLibrarySummary, type DataLibraryDetail, type IndexingStatusResponse, type CreateLibraryInput, type UpdateLibraryInput, type UploadResult, type FileAddResult, type FileListResponse } from './dataLibraryTypes.js';
export declare class AgentDataLibrary {
    static list(connection: Connection, options?: {
        sourceType?: string;
    }): Promise<{
        libraries: DataLibrarySummary[];
    }>;
    static create(connection: Connection, input: CreateLibraryInput): Promise<DataLibraryDetail>;
    static get(connection: Connection, libraryId: string): Promise<DataLibraryDetail>;
    static update(connection: Connection, libraryId: string, input: UpdateLibraryInput): Promise<DataLibraryDetail>;
    static delete(connection: Connection, libraryId: string): Promise<void>;
    static status(connection: Connection, libraryId: string, options?: {
        includeArtifacts?: boolean;
    }): Promise<IndexingStatusResponse>;
    static listFiles(connection: Connection, libraryId: string, options?: {
        pageSize?: number;
        offset?: number;
        sortBy?: string;
        sortOrder?: string;
        name?: string;
        status?: string;
    }): Promise<FileListResponse>;
    static deleteFile(connection: Connection, libraryId: string, fileId: string): Promise<void>;
    static upload(connection: Connection, libraryId: string, filePaths: string | string[], options?: {
        waitMinutes?: number;
    }): Promise<UploadResult>;
    static addFile(connection: Connection, libraryId: string, filePaths: string | string[]): Promise<FileAddResult>;
    static waitForReady(connection: Connection, libraryId: string, waitSeconds: number): Promise<DataLibraryDetail>;
    private static checkUploadReadiness;
    private static getUploadUrls;
    private static uploadToS3;
    private static triggerIndexing;
    private static pollForReadiness;
}
