import type { FlushPanelFrameIntent, PanelFrameIntent, PlainFrameIntent } from '@riverbankcms/theme-core/site-styles';
export { defineFrameCapability, flushPanelFrame, panelFrame, plainFrame, } from '@riverbankcms/theme-core/site-styles';
export type { ContentFrameIntent, FlushFrameTreatment, FlushPanelFrameIntent, FrameBleedEdge, FrameCapability, FrameDecisionFor, FrameKind, PanelFrameIntent, PanelFrameTreatment, PlainFrameIntent, } from '@riverbankcms/theme-core/site-styles';
export type SectionPaddingX = 'normal' | 'none';
export type FrameShape = Readonly<{
    kind: 'none';
}> | Readonly<{
    kind: 'square';
}> | Readonly<{
    kind: 'rounded';
    radius: 'sm' | 'md' | 'lg' | 'xl' | '2xl';
}>;
export type FrameSurfaceOwner = 'section' | 'container' | 'none';
export type ContainerPaddingIntent = Readonly<{
    kind: 'none';
}> | Readonly<{
    kind: 'panel';
    density: 'cozy' | 'medium' | 'comfortable' | 'spacious';
}>;
export type ContentPaddingIntent = Readonly<{
    kind: 'none';
}> | Readonly<{
    kind: 'text-column';
    density: 'cozy' | 'medium' | 'comfortable' | 'spacious';
}>;
export type ResolvedPlainFrame = Readonly<{
    kind: 'plain';
    sectionPaddingX: 'normal';
    surfaceOwner: 'none';
    containerPadding: {
        kind: 'none';
    };
    contentPadding: {
        kind: 'none';
    };
    shape: {
        kind: 'none';
    };
    containerStyles: null;
}>;
export type ResolvedPanelFrame<TContainerStyles extends Record<string, unknown>> = Readonly<{
    kind: 'panel';
    sectionPaddingX: 'normal';
    surfaceOwner: 'container';
    containerPadding: ContainerPaddingIntent & {
        kind: 'panel';
    };
    contentPadding: {
        kind: 'none';
    };
    shape: FrameShape;
    containerStyles: TContainerStyles;
}>;
export type ResolvedFlushPanelFrame<TContainerStyles extends Record<string, unknown>> = Readonly<{
    kind: 'flush-panel';
    sectionPaddingX: 'none';
    surfaceOwner: 'section';
    containerPadding: {
        kind: 'none';
    };
    contentPadding: ContentPaddingIntent & {
        kind: 'text-column';
    };
    shape: {
        kind: 'square';
    };
    containerStyles: TContainerStyles & {
        fullWidth: true;
    };
}>;
export type ResolvedFrameStyles<TContainerStyles extends Record<string, unknown> = Record<string, unknown>> = ResolvedPlainFrame | ResolvedPanelFrame<TContainerStyles> | ResolvedFlushPanelFrame<TContainerStyles>;
export declare function resolveFrameStyles<TPanelStyles extends Record<string, unknown>>(intent: PlainFrameIntent, styles: Readonly<{
    panelContainerStyles?: TPanelStyles;
    flushContainerStyles?: TPanelStyles;
}>): ResolvedPlainFrame;
export declare function resolveFrameStyles<TPanelStyles extends Record<string, unknown>>(intent: PanelFrameIntent, styles: Readonly<{
    panelContainerStyles: TPanelStyles;
    flushContainerStyles?: TPanelStyles;
}>): ResolvedPanelFrame<TPanelStyles>;
export declare function resolveFrameStyles<TFlushStyles extends Record<string, unknown>>(intent: FlushPanelFrameIntent, styles: Readonly<{
    panelContainerStyles?: TFlushStyles;
    flushContainerStyles: TFlushStyles;
}>): ResolvedFlushPanelFrame<TFlushStyles>;
