export declare const themeValues: readonly ["auto", "light", "dark"];
export declare const buttonVariantValues: readonly ["primary", "secondary", "tertiary", "outline", "ghost"];
export declare const iconPositionValues: readonly ["before", "after"];
export type ContractField = {
    kind: 'array';
    items: ContractField;
    optional?: boolean;
} | {
    kind: 'enum';
    values: readonly [string, ...string[]];
    optional?: boolean;
} | {
    kind: 'atomicBlocks';
    optional?: boolean;
} | {
    kind: 'boolean';
    optional?: boolean;
} | {
    kind: 'className';
    optional?: boolean;
} | {
    kind: 'componentClassName';
    optional?: boolean;
} | {
    kind: 'image';
    optional?: boolean;
} | {
    kind: 'object';
    fields: Record<string, ContractField>;
    optional?: boolean;
} | {
    kind: 'richText';
    optional?: boolean;
} | {
    kind: 'string';
    minLength?: number;
    optional?: boolean;
};
export interface BlockContract {
    component: string;
    displayName: string;
    description: string;
    props: Record<string, ContractField>;
}
export interface AtomicBlockContract extends BlockContract {
}
export declare const stringField: (options?: {
    minLength?: number;
    optional?: boolean;
}) => ContractField;
export declare const booleanField: (options?: {
    optional?: boolean;
}) => ContractField;
export declare const imageField: (options?: {
    optional?: boolean;
}) => ContractField;
export declare const enumField: (values: readonly [string, ...string[]], options?: {
    optional?: boolean;
}) => ContractField;
export declare const arrayField: (items: ContractField, options?: {
    optional?: boolean;
}) => ContractField;
export declare const objectField: (fields: Record<string, ContractField>, options?: {
    optional?: boolean;
}) => ContractField;
export declare const richTextField: (options?: {
    optional?: boolean;
}) => ContractField;
export declare const atomicBlocksField: (options?: {
    optional?: boolean;
}) => ContractField;
export declare const classNameField: (options?: {
    optional?: boolean;
}) => ContractField;
export declare const componentClassNameField: (options?: {
    optional?: boolean;
}) => ContractField;
export declare const defaultAtomicBlockContracts: AtomicBlockContract[];
export declare const defaultBlockContracts: BlockContract[];
export declare const blockContracts: BlockContract[];
export declare const atomicBlockContracts: AtomicBlockContract[];
export declare const supportedBlockComponents: string[];
export declare const supportedAtomicBlockComponents: string[];
