import React from 'react';
import type { FormSidebarExtensionProps, FieldExtensionProps as FieldExtensionPropsBase, AppInstallation } from '@hygraph/app-sdk';
export declare function useFieldExtension(): FieldExtensionProps;
export declare function useFormSidebarExtension(): FormSidebarExtensionProps;
export declare function useUiExtensionDialog<DialogReturn = any, DialogProps = Record<string, unknown>>(): {
    onCloseDialog: (value?: DialogReturn | null) => void;
} & DialogProps;
export declare function useApp(): {
    readonly useUpdateInstallation: () => readonly [(arg: Partial<Pick<AppInstallation, "config" | "status">>) => Promise<AppInstallation>, {
        readonly data: AppInstallation | undefined;
        readonly error: string;
        readonly loading: boolean;
    }];
    readonly updateInstallation: (arg: Partial<Pick<AppInstallation, "config" | "status">>) => Promise<AppInstallation>;
    readonly installation: AppInstallation;
    readonly context: import("@hygraph/app-sdk").Context;
    readonly openDialog: import("@hygraph/app-sdk/dist/type-helpers/dialog").OpenDialog;
    readonly showToast: import("@hygraph/app-sdk/dist/type-helpers/toast").ShowToast;
    readonly openAssetPicker: import("@hygraph/app-sdk/dist/type-helpers/openAssetPicker").OpenAssetPicker;
    readonly redirectParent: (location: string | Location) => Promise<void>;
    readonly historyReplace: (url: string | ((href: string) => string)) => Promise<void>;
    readonly historyPush: (url: string | ((href: string) => string)) => Promise<void>;
};
export interface FieldExtensionProps extends Omit<FieldExtensionPropsBase, 'onBlur' | 'onChange' | 'onFocus'> {
    onBlur: <T extends HTMLElement = HTMLElement>(event?: React.FocusEvent<T>) => Promise<void>;
    onChange: <T extends HTMLElement = HTMLElement>(event: React.ChangeEvent<T> | any) => Promise<void>;
    onFocus: <T extends HTMLElement = HTMLElement>(event?: React.FocusEvent<T>) => Promise<void>;
}
