import { ComputedRef, InjectionKey } from 'vue';
import { IEmptyPlaceholder, OioBaseContainerPropsType } from '../../typing';
import { $$FormLayout, FormLayout } from './props';
export interface OioFormContext {
    layout: ComputedRef<FormLayout | undefined>;
    emptyPlaceholder: ComputedRef<IEmptyPlaceholder | undefined>;
}
export declare const defaultOioFormContext: OioFormContext;
export declare const OioFormContextKey: InjectionKey<OioFormContext>;
export declare const useProviderOioFormContext: (state: Partial<Omit<OioFormContext, 'layout'> & {
    layout: ComputedRef<FormLayout | $$FormLayout | undefined>;
}>) => void;
export declare const useInjectOioFormContext: () => OioFormContext;
export declare function useOioFormLayoutContext(props: Omit<OioBaseContainerPropsType, 'layout'> & {
    layout: FormLayout | $$FormLayout | undefined;
}): {
    layout: ComputedRef<FormLayout | "horizontal" | "vertical" | "inline" | undefined>;
};
