import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Filter datasources by status.
 */
export type ListDatasourcesQueryParamStatus = Array<string> | string;
export type ListDatasourcesRequest = {
    /**
     * Unique identifier of the knowledge base
     */
    knowledgeId: string;
    /**
     * A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `after=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the next page of the list.
     */
    startingAfter?: string | undefined;
    /**
     * A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `before=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the previous page of the list.
     */
    endingBefore?: string | undefined;
    /**
     * Search query to find datasources by name.
     */
    q?: string | undefined;
    /**
     * A limit on the number of objects to be returned. Limit can range between 1 and 50, and the default is 10
     */
    limit?: number | undefined;
    /**
     * Filter datasources by status.
     */
    status?: Array<string> | string | undefined;
};
export declare const ListDatasourcesObject: {
    readonly List: "list";
};
export type ListDatasourcesObject = ClosedEnum<typeof ListDatasourcesObject>;
export declare const ListDatasourcesStatus: {
    readonly Pending: "pending";
    readonly Processing: "processing";
    readonly Completed: "completed";
    readonly Failed: "failed";
    readonly Queued: "queued";
};
export type ListDatasourcesStatus = ClosedEnum<typeof ListDatasourcesStatus>;
export type ListDatasourcesData = {
    /**
     * The unique identifier of the data source
     */
    id: string;
    /**
     * The display name of the datasource. Normally the name of the uploaded file
     */
    displayName: string;
    /**
     * The description of the knowledge base
     */
    description?: string | null | undefined;
    status: ListDatasourcesStatus;
    /**
     * The unique identifier of the file used to create the datasource.
     */
    fileId?: string | null | undefined;
    /**
     * The date and time the datasource was created
     */
    created: string;
    /**
     * The date and time the datasource was updated
     */
    updated: string;
    /**
     * The user ID of the creator of the knowledge base
     */
    createdById?: string | null | undefined;
    /**
     * The user ID of the last user who updated the knowledge base
     */
    updateById?: string | null | undefined;
    /**
     * The unique identifier of the knowledge base
     */
    knowledgeId: string;
    /**
     * The number of chunks in the datasource
     */
    chunksCount: number;
};
/**
 * Datasources successfully retrieved
 */
export type ListDatasourcesResponseBody = {
    object: ListDatasourcesObject;
    data: Array<ListDatasourcesData>;
    hasMore: boolean;
};
/** @internal */
export type ListDatasourcesQueryParamStatus$Outbound = Array<string> | string;
/** @internal */
export declare const ListDatasourcesQueryParamStatus$outboundSchema: z.ZodType<ListDatasourcesQueryParamStatus$Outbound, z.ZodTypeDef, ListDatasourcesQueryParamStatus>;
export declare function listDatasourcesQueryParamStatusToJSON(listDatasourcesQueryParamStatus: ListDatasourcesQueryParamStatus): string;
/** @internal */
export type ListDatasourcesRequest$Outbound = {
    knowledge_id: string;
    starting_after?: string | undefined;
    ending_before?: string | undefined;
    q?: string | undefined;
    limit: number;
    status?: Array<string> | string | undefined;
};
/** @internal */
export declare const ListDatasourcesRequest$outboundSchema: z.ZodType<ListDatasourcesRequest$Outbound, z.ZodTypeDef, ListDatasourcesRequest>;
export declare function listDatasourcesRequestToJSON(listDatasourcesRequest: ListDatasourcesRequest): string;
/** @internal */
export declare const ListDatasourcesObject$inboundSchema: z.ZodNativeEnum<typeof ListDatasourcesObject>;
/** @internal */
export declare const ListDatasourcesStatus$inboundSchema: z.ZodNativeEnum<typeof ListDatasourcesStatus>;
/** @internal */
export declare const ListDatasourcesData$inboundSchema: z.ZodType<ListDatasourcesData, z.ZodTypeDef, unknown>;
export declare function listDatasourcesDataFromJSON(jsonString: string): SafeParseResult<ListDatasourcesData, SDKValidationError>;
/** @internal */
export declare const ListDatasourcesResponseBody$inboundSchema: z.ZodType<ListDatasourcesResponseBody, z.ZodTypeDef, unknown>;
export declare function listDatasourcesResponseBodyFromJSON(jsonString: string): SafeParseResult<ListDatasourcesResponseBody, SDKValidationError>;
//# sourceMappingURL=listdatasources.d.ts.map