import { ViewProperties, Animated, ViewStyle, ImageStyle, Insets, ImageURISource } from 'react-native';
import * as React from 'react';
import { CLScrollBehaviour } from '../Behaviours';
export interface CLBarProps extends ViewProperties {
    safeAreaInsets?: Insets;
    scrollBehaviourOffset: Animated.AnimatedInterpolation;
    scrollBehaviours: CLScrollBehaviour[];
    contentRenderer: (index: number, scrollBehaviourOffset: Animated.AnimatedInterpolation) => React.ReactElement<any> | undefined | null;
    showSeparator?: boolean;
}
interface CLBarInterface {
    getDimensionRange: () => {
        minHeight: number;
        maxHeight: number;
    };
    getBehaviours: () => CLScrollBehaviour[];
}
interface CLBarState {
    maxHeight: number;
    minHeight: number;
    heightAnimatedValue: Animated.AnimatedInterpolation;
}
export declare class CLAppBar extends React.Component<CLBarProps, CLBarState> implements CLBarInterface {
    constructor(props: CLBarProps, context?: any);
    static getDerivedState<K extends keyof CLBarState>(nextProps: CLBarProps, _: Pick<CLBarState, K> | CLBarState | undefined): Pick<CLBarState, K> | CLBarState;
    getDimensionRange: () => {
        minHeight: number;
        maxHeight: number;
    };
    getBehaviours: () => CLScrollBehaviour[];
    shouldComponentUpdate(nextProps: Readonly<CLBarProps>, _nextState: Readonly<any>, _nextContext: any): boolean;
    UNSAFE_componentWillReceiveProps(nextProps: CLBarProps, _nextContext: any): void;
    render(): React.ReactNode;
    protected containerStyle: () => ViewStyle;
    protected shadowImageSource: () => number | ImageURISource;
    protected separatorStyle: () => ImageStyle;
    protected renderItems: (scrollBehaviourOffset: Animated.AnimatedInterpolation) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>[];
}
export {};
