import type { components, paths } from '../generated/api.js';
import { WorkspaceScopedResource } from './base.js';
export type ListIntakeLinksParams = NonNullable<paths['/v1/{workspace_id}/intake/links']['get']['parameters']['query']>;
/**
 * Intake — short-lived signed links the workspace shares with patients to
 * collect documents (insurance cards, ID, referrals). Each link can receive
 * multiple uploads; uploads are downloadable for audit/review.
 *
 * @beta New in this release; surface may evolve.
 */
export declare class IntakeResource extends WorkspaceScopedResource {
    readonly links: {
        list: (params?: ListIntakeLinksParams) => Promise<{
            created_at: string;
            customer_slug: components["schemas"]["SlugString"];
            display_name: components["schemas"]["NameString"] | null;
            expires_at: string;
            id: string;
            last_upload_at: string | null;
            link_token: string;
            max_uploads: number;
            revoked_at: string | null;
            status: "active" | "expired" | "revoked" | "exhausted";
            upload_count: number;
            upload_url: string;
            workspace_id: string;
        }[] & import("../index.js").ResponseMetadata>;
        create: (body: components["schemas"]["CreateLinkRequest"]) => Promise<{
            created_at: string;
            customer_slug: components["schemas"]["SlugString"];
            display_name: components["schemas"]["NameString"] | null;
            expires_at: string;
            id: string;
            last_upload_at: string | null;
            link_token: string;
            max_uploads: number;
            revoked_at: string | null;
            status: "active" | "expired" | "revoked" | "exhausted";
            upload_count: number;
            upload_url: string;
            workspace_id: string;
        } & import("../index.js").ResponseMetadata>;
        delete: (linkId: string) => Promise<undefined>;
        /** List uploads received against a link */
        listUploads: (linkId: string) => Promise<{
            content_type: string;
            customer_slug: components["schemas"]["SlugString"];
            filename: components["schemas"]["NameString"];
            id: string;
            received_at: string;
            scan_status: "skipped" | "pending" | "clean" | "infected";
            sha256: string;
            size_bytes: number;
        }[] & import("../index.js").ResponseMetadata>;
        /** Get a download URL/payload for a single upload */
        downloadUpload: (linkId: string, uploadId: string) => Promise<string>;
    };
}
//# sourceMappingURL=intake.d.ts.map