import * as React from "react"; import { EasingFunction, StyleProp, TextStyle } from "react-native"; import { Milliseconds, MillisecondsAccepted } from "@ef-carbon/primitive"; import { ITheme } from "@ef-carbon/react-native-style"; import { Component } from "@ef-carbon/react-render-component"; import { IProps as IFullscreenProps } from "../icon/Fullscreen/index"; import { IProps as IStateProps } from "../icon/State/index"; import { IProps as ISeekProps } from "../Seek/index"; import State from "../State"; import { IProps as ITimeProps } from "../Time/index"; export declare type StateComponent = Component; export declare type SeekComponent = Component; export declare type TimeComponent = Component; export declare type FullscreenComponent = Component; export interface IProps extends IStateProps, ISeekProps, ITimeProps, IFullscreenProps { state: State; position: MillisecondsAccepted; duration: MillisecondsAccepted; theme?: ITheme; StateComponent?: StateComponent | null; SeekComponent?: SeekComponent | null; seekComponentBreakpoint?: number | null; TimeComponent?: TimeComponent | null; FullscreenComponent?: FullscreenComponent | null; style?: StyleProp; animate?: boolean; animationDelay?: number; animationDuration?: number; animationEasing?: EasingFunction; } export interface IState { width: number; } declare class Controls extends React.PureComponent { static StateComponent?: StateComponent | null; static SeekComponent?: SeekComponent | null; static TimeComponent?: TimeComponent | null; static FullscreenComponent?: FullscreenComponent | null; static seekComponentBreakpoint: number | null; constructor(props: IProps); render(): React.ReactNode; readonly duration: Milliseconds; readonly position: Milliseconds; private readonly stateComponent; private readonly renderStateComponent; readonly animationDuration: number; readonly animationEasing: EasingFunction | undefined; readonly animationDelay: number; private readonly seekComponent; readonly seekComponentBreakpoint: number | null; private readonly renderSeekComponent; private readonly timeComponent; private readonly renderTimeComponent; private readonly fullscreenComponent; private readonly renderFullscreenComponent; private readonly handleLayout; } export interface IStatic extends React.ComponentClass { } declare const component: IStatic; export { component as Component }; export default Controls;