import type { SystemBlockDefinition } from "../registry";
import type { SemanticSpacing } from "../spacing";
import type { NodeDefinition } from "../node";
import { type ImageColSize } from "../fields/imageLayout";
import type { PublicTeamMemberPhoto } from "./shared/teamMembers";
type ThumbnailShape = "round" | "rounded" | "square";
type LayoutAlign = "center" | "left";
type LayoutWidth = "full" | "lg-3-4-left";
type ThumbnailPadding = "none" | "sm" | "md" | "lg";
type StackImagePosition = "left" | "right" | "alternate";
type StackContentAlignment = "top" | "center";
export declare const teamMembersManifest: import("..").DefinedBlockManifest<{
    readonly id: "block.team-members";
    readonly title: "Team Members";
    readonly category: "content";
    readonly titleSource: "heading";
    readonly additionalFields: readonly [import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, {
        readonly ui: {
            readonly intent: "content";
            readonly visibleWhen: {
                readonly field: "source";
                readonly equals: "manual";
            };
        };
        readonly id: string;
        readonly type: "repeater";
        readonly label: string;
        readonly required: boolean;
        readonly description?: string | undefined;
        readonly visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
        readonly defaultValue?: any;
        readonly itemLabel: string;
        readonly itemLabelSource?: string | undefined;
        readonly minItems: number;
        readonly maxItems?: number | undefined;
        readonly polymorphic?: boolean | undefined;
        readonly allowConversion: boolean;
        readonly schema?: {
            fields: import("..").FieldDefinition[];
        };
        readonly itemTypes?: Record<string, import("..").ItemTypeDefinition>;
    }];
    readonly layout: NodeDefinition;
    readonly variants: {
        readonly grid: NodeDefinition;
        readonly stack: NodeDefinition;
    };
    readonly defaultVariant: "grid";
    readonly variantOptions: {
        readonly grid: {
            readonly label: "Grid";
            readonly description: "Members in a responsive grid";
            readonly icon: "Grid3X3";
        };
        readonly stack: {
            readonly label: "Stack";
            readonly description: "Members in a stacked list with photo + bio";
            readonly icon: "List";
        };
    };
    readonly description: "Show your team members in a grid or stacked list.";
    readonly tags: readonly ["team", "people", "members"];
    readonly icon: "Users";
    readonly styleTokens: {
        readonly spacing: "lg";
    };
}>;
type ManualTeamMemberItem = {
    _type: "teamMember";
    name: string;
    role?: string | null;
    bio?: unknown;
    photo?: PublicTeamMemberPhoto;
    profilePath?: string | null;
};
type TeamMembersCommonContent = {
    variant?: "grid" | "stack" | null;
    heading?: string | null;
    layoutAlign?: LayoutAlign | null;
    layoutWidth?: LayoutWidth | null;
    thumbnailShape?: ThumbnailShape | null;
    thumbnailPadding?: ThumbnailPadding | null;
    imageColSize?: ImageColSize | null;
    stackImagePosition?: StackImagePosition | null;
    stackContentAlignment?: StackContentAlignment | null;
    columns?: string | number | null;
    gap?: SemanticSpacing;
};
export type TeamMembersContent = (TeamMembersCommonContent & {
    source?: "manual" | null;
    members: ManualTeamMemberItem[];
}) | (TeamMembersCommonContent & {
    source: "site_staff";
    members?: ManualTeamMemberItem[];
});
export declare const teamMembersBlockDefinition: SystemBlockDefinition<TeamMembersContent>;
export {};
