import { HostComponent } from 'react-native';
import type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';
import { ComponentRef, ForwardedRef } from 'react';
import { FullstoryStatic } from './fullstoryInterface';
interface NativeProps extends ViewProps {
    fsClass?: string;
    fsAttribute?: object;
    fsTagName?: string;
    dataElement?: string;
    dataSourceFile?: string;
    dataComponent?: string;
}
declare type FullStoryPrivateStatic = {
    onFSPressForward?(tag: number, isLongPress: boolean, hasPressHandler: boolean, hasLongPressHandler: boolean): void;
};
export { FSPage } from './FSPage';
type FSComponentType = HostComponent<NativeProps>;
export declare const FS_REF_SYMBOL: unique symbol;
type MaybeFSForwardedRef<T> = ForwardedRef<T> & {
    [FS_REF_SYMBOL]?: boolean;
};
type FSNativeElement = ComponentRef<FSComponentType> & {
    currentProps?: Record<string, unknown>;
};
declare function sharedRefWrapper(element: FSNativeElement | null): void;
export declare function applyFSPropertiesWithRef(existingRef?: MaybeFSForwardedRef<FSNativeElement>, hasDynamicAttributes?: boolean): typeof sharedRefWrapper | (import("react").MutableRefObject<FSNativeElement | null> & {
    [FS_REF_SYMBOL]?: boolean | undefined;
});
declare const FullstoryAPI: FullstoryStatic;
export declare const PrivateInterface: FullStoryPrivateStatic;
export default FullstoryAPI;
//# sourceMappingURL=index.d.ts.map