import { Symbolizer, UnsupportedProperties } from 'geostyler-style';
import { default as React } from 'react';
import { ComparisonFilterComposableProps } from '../../Component/Filter/ComparisonFilter/ComparisonFilter';
import { default as GeoStylerLocale } from '../../locale/locale';
import { RendererComposableProps } from '../../Component/Renderer/Renderer/Renderer';
import { FillEditorComposableProps } from '../../Component/Symbolizer/FillEditor/FillEditor';
import { IconEditorComposableProps } from '../../Component/Symbolizer/IconEditor/IconEditor';
import { LineEditorComposableProps } from '../../Component/Symbolizer/LineEditor/LineEditor';
import { MarkEditorComposableProps } from '../../Component/Symbolizer/MarkEditor/MarkEditor';
import { WellKnownNameEditorComposableProps } from '../../Component/Symbolizer/WellKnownNameEditor/WellKnownNameEditor';
import { TextEditorComposableProps } from '../../Component/Symbolizer/TextEditor/TextEditor';
import { RasterEditorComposableProps } from '../../Component/Symbolizer/RasterEditor/RasterEditor';
import { RasterChannelEditorComposableProps } from '../../Component/Symbolizer/RasterChannelEditor/RasterChannelEditor';
import { ColorMapEditorComposableProps } from '../../Component/Symbolizer/ColorMapEditor/ColorMapEditor';
import { RuleComposableProps } from '../../Component/RuleCard/RuleCard';
import { RulesComposableProps } from '../../Component/Rules/Rules';
import { EditorComposableProps } from '../../Component/Symbolizer/Editor/Editor';
import { ChannelFieldComposableProps } from '../../Component/Symbolizer/Field/ChannelField/ChannelField';
import { RuleGeneratorComposableProps } from '../../Component/RuleGenerator/RuleGenerator';
import { StyleComposableProps } from '../../Component/Style/Style';
import { Data as GeoStylerData } from 'geostyler-data';
import { SLDRendererComposableProps } from '../../Component/Renderer/SLDRenderer/SLDRenderer';
import { WellKnownNameFieldComposableProps } from '../../Component/Symbolizer/Field/WellKnownNameField/WellKnownNameField';
export type InputConfig<T> = {
    visibility?: boolean;
    default?: T;
};
export type CompositionContext = {
    Editor?: EditorComposableProps;
    FillEditor?: FillEditorComposableProps;
    IconEditor?: IconEditorComposableProps;
    LineEditor?: LineEditorComposableProps;
    MarkEditor?: MarkEditorComposableProps;
    WellKnownNameEditor?: WellKnownNameEditorComposableProps;
    TextEditor?: TextEditorComposableProps;
    RasterEditor?: RasterEditorComposableProps;
    RasterChannelEditor?: RasterChannelEditorComposableProps;
    RuleGenerator?: RuleGeneratorComposableProps;
    ChannelField?: ChannelFieldComposableProps;
    ColorMapEditor?: ColorMapEditorComposableProps;
    ComparisonFilter?: ComparisonFilterComposableProps;
    Renderer?: RendererComposableProps;
    SLDRenderer?: SLDRendererComposableProps;
    Rules?: RulesComposableProps;
    Rule?: RuleComposableProps;
    Style?: StyleComposableProps;
    WellKnownNamesField?: WellKnownNameFieldComposableProps;
};
export interface UnsupportedPropertiesContext extends UnsupportedProperties {
    options?: {
        hideUnsupported?: boolean;
        locale?: GeoStylerLocale['UnsupportedPropertiesUtil'];
    };
}
export interface GeoStylerContextInterface {
    composition?: CompositionContext;
    locale?: GeoStylerLocale;
    unsupportedProperties?: UnsupportedPropertiesContext;
    data?: GeoStylerData;
}
export declare const GeoStylerContext: React.Context<GeoStylerContextInterface>;
export declare const useGeoStylerContext: () => GeoStylerContextInterface;
export declare const useGeoStylerComposition: <T extends keyof CompositionContext>(key: T) => CompositionContext[T];
export declare const useGeoStylerLocale: <T extends keyof GeoStylerLocale>(key: T) => GeoStylerLocale[T];
export declare const useGeoStylerData: () => GeoStylerData;
export declare const useGeoStylerUnsupportedProperties: <T extends Symbolizer>(symbolizer: T) => {
    unsupportedProperties: UnsupportedPropertiesContext;
    getFormItemSupportProps: () => {};
} | {
    unsupportedProperties: UnsupportedPropertiesContext;
    getFormItemSupportProps: (propName: keyof T) => Partial<import('antd').FormItemProps<any>>;
};
