import { type PublicDownloadMedia } from "../../lib/media";
import type { SystemBlockDefinition } from "../registry";
export declare const fileDownloadManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
    readonly id: "block.file-download";
    readonly title: "File Download";
    readonly titleSource: ["title", "file.filename"];
    readonly category: "media";
    readonly description: "Add a simple public download link for a document, ZIP, or audio file.";
    readonly tags: readonly ["file", "download", "document", "zip", "media"];
    readonly icon: "Download";
    readonly includeContainerStyles: true;
    readonly additionalFields: readonly [{
        readonly id: "file";
        readonly type: "file";
        readonly label: "Download file";
        readonly description: "Choose the file visitors can download.";
        readonly required: false;
        readonly fileKinds: ["document", "spreadsheet", "archive", "audio"];
        readonly ui: {
            readonly intent: "content";
        };
    }, {
        readonly id: "title";
        readonly type: "text";
        readonly label: "Title";
        readonly required: false;
        readonly multiline: false;
        readonly maxLength: 120;
    }, {
        readonly id: "description";
        readonly type: "text";
        readonly label: "Description";
        readonly required: false;
        readonly multiline: true;
        readonly maxLength: 240;
    }, {
        readonly id: "buttonLabel";
        readonly type: "text";
        readonly label: "Button label";
        readonly required: false;
        readonly multiline: false;
        readonly maxLength: 60;
    }, import("../../../../block-form/src/backend/index").FieldDefinition];
    readonly layout: import("..").NodeDefinition;
    readonly styleTokens: {
        readonly background: "surface";
        readonly typography: "body";
        readonly spacing: "md";
    };
}>>;
export type FileDownloadContent = {
    file?: PublicDownloadMedia | null;
    title?: string | null;
    description?: string | null;
    buttonLabel?: string | null;
    buttonVariant?: "primary" | "secondary" | "outline" | "link" | null;
};
export declare const fileDownloadBlockDefinition: SystemBlockDefinition<FileDownloadContent>;
