import React from "react";
/**
 * A High Order Component (HOC) function that provides
 * the contextual `width` and `height` props to a GL Component.
 */
declare const connectSize: (GLComponent: any) => {
    new (props: {
        width?: number;
        height?: number;
        children?: any;
        onConnectSizeComponentRef?: (ref: any) => void;
    }): {
        context: {
            glSizable: {
                getGLSize: () => [number, number];
            };
            glParent: any;
            glSurface: any;
        };
        getGLSize(): [number, number];
        render(): import("react/jsx-runtime").JSX.Element;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
        forceUpdate(callback?: () => void): void;
        readonly props: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>;
        state: Readonly<{}>;
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextState: Readonly<{}>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, prevState: Readonly<{}>): any;
        componentDidUpdate?(prevProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, prevState: Readonly<{}>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextState: Readonly<{}>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextState: Readonly<{}>, nextContext: any): void;
    };
    new (props: {
        width?: number;
        height?: number;
        children?: any;
        onConnectSizeComponentRef?: (ref: any) => void;
    }, context: any): {
        context: {
            glSizable: {
                getGLSize: () => [number, number];
            };
            glParent: any;
            glSurface: any;
        };
        getGLSize(): [number, number];
        render(): import("react/jsx-runtime").JSX.Element;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
        forceUpdate(callback?: () => void): void;
        readonly props: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>;
        state: Readonly<{}>;
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextState: Readonly<{}>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, prevState: Readonly<{}>): any;
        componentDidUpdate?(prevProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, prevState: Readonly<{}>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextState: Readonly<{}>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<{
            width?: number;
            height?: number;
            children?: any;
            onConnectSizeComponentRef?: (ref: any) => void;
        }>, nextState: Readonly<{}>, nextContext: any): void;
    };
    displayName: string;
    propTypes: {
        width: any;
        height: any;
    };
    contextType: React.Context<{
        glParent: any;
        glSurface: any;
        glSizable: any;
    }>;
};
export default connectSize;
//# sourceMappingURL=connectSize.d.ts.map