import { TScrollObserver } from './components';
import { ComputedRef, InjectionKey, Ref } from 'vue';
type TLayoutPart = {
    size: number;
    offset: number;
    space: boolean;
};
export interface ILayoutContextProps {
    instances: any;
    view: ComputedRef<string>;
    isContainer: ComputedRef<boolean>;
    rootRef: Ref<HTMLElement | undefined>;
    height: Ref<number>;
    containerHeight: Ref<number>;
    scrollbarWidth: Ref<number>;
    totalWidth: ComputedRef<number>;
    rows: ComputedRef<{
        top: string[];
        middle: string[];
        bottom: string[];
    }>;
    header: TLayoutPart;
    right: TLayoutPart;
    footer: TLayoutPart;
    left: TLayoutPart;
    scroll: Ref<TScrollObserver>;
    animate: () => void;
    update: (part: keyof ILayoutContextProps, prop: string, value: any) => void;
}
export declare const CdsLayoutSymbol: InjectionKey<ILayoutContextProps>;
export declare const useProvideLayout: (props: ILayoutContextProps) => void;
export declare const useInjectLayout: () => ILayoutContextProps;
export {};
