/**
 * Defines how spacing should be applied to the children of a container.
 */
export declare enum Spacing {
    condensed = 0,
    default = 1,
    relaxed = 2
}
export declare enum SurfaceBackground {
    normal = 0,
    neutral = 1,
    callout = 2
}
export interface ISurfaceContext {
    /**
     * Specifies the background color of the surface onto which a component will be
     * rendered. This allows components which consume the context to decide if anything
     * about their rendering needs to be changed.
     *
     * @default SurfaceBackground.normal
     */
    background: SurfaceBackground;
    /**
     * Class name that should be applied to achieve the horizontal spacing desired by the
     * spacing prop for the context. This provides a standard mapping of spacing value =>
     * className. If a component consuming the context wants different behavior based on
     * the spacing value, it can choose to not apply this className, and provide different style.
     */
    horizontalClassName?: string;
    /**
     * Specifies the spacing the container should use.
     * This allows components which consume the context to decide if anything
     * about their rendering needs to be changed.
     *
     * @default undefined - let the component decide how spacing should be applied.
     */
    spacing?: Spacing;
    /**
     * Class name that should be applied to achieve the vertical spacing desired by the
     * spacing prop for the context. This provides a standard mapping of spacing value =>
     * className. If a component consuming the context wants different behavior based on
     * the spacing value, it can choose to not apply this className, and provide different style.
     */
    verticalClassName?: string;
}
export interface ISurfaceProps {
    /**
     * Specifies the semantic background color of the surface.
     *
     * @default SurfaceBackground.normal
     */
    background: SurfaceBackground;
    /**
     * Specifies the spacing the container should use.
     * This allows components which consume the context to decide if anything
     * about their rendering needs to be changed.
     *
     * @default undefined - let the component decide how spacing should be applied.
     */
    spacing?: Spacing;
}
