import { type Schema } from 'effect';
type AnySchema = Schema.Schema<any, any, any>;
export declare function getStructFieldTitle(schema: AnySchema, fieldName: string): string | undefined;
export declare function getStructFieldDescription(schema: AnySchema, fieldName: string): string | undefined;
export declare function getNestedStructFieldTitle(schema: AnySchema, parentField: string, childField: string): string | undefined;
export declare function getNestedStructFieldDescription(schema: AnySchema, parentField: string, childField: string): string | undefined;
export type StructFieldInfo = {
    name: string;
    title?: string;
    description?: string;
    optional: boolean;
};
/**
 * Lists a struct schema's property signatures, pairing each with its `@title` /
 * `@description` annotation and optionality. Used to auto-derive the per-field
 * documentation surfaced to the AI field generator — a new field folder becomes
 * discoverable with zero edits there. Returns `[]` for non-struct schemas.
 */
export declare function listStructFields(schema: AnySchema): StructFieldInfo[];
export {};
