import { Container } from '../../scene/Container';
import { GraphicsContext } from './GraphicsContext';
import { GraphicsView } from './GraphicsView';
import type { ColorSource } from '../../../color/Color';
import type { Matrix } from '../../../maths/Matrix';
import type { Texture } from '../../renderers/shared/texture/Texture';
import type { ContainerOptions } from '../../scene/Container';
import type { FillStyleInputs } from './GraphicsContext';
export interface GraphicsOptions extends ContainerOptions<GraphicsView> {
    context?: GraphicsContext;
}
export declare class Graphics extends Container<GraphicsView> {
    constructor(options?: GraphicsOptions | GraphicsContext);
    get context(): GraphicsContext;
    set context(context: GraphicsContext);
    private _callContextMethod;
    /** @deprecated 8.0.0 */
    fill(color: ColorSource, alpha: number): this;
    fill(style?: FillStyleInputs): this;
    stroke(...args: Parameters<GraphicsContext['stroke']>): this;
    texture(texture: Texture): this;
    texture(texture: Texture, tint: ColorSource): this;
    texture(texture: Texture, tint: ColorSource, dx: number, dy: number): this;
    texture(texture: Texture, tint: ColorSource, dx: number, dy: number, dw: number, dh: number): this;
    texture(texture: Texture, tint?: ColorSource, dx?: number, dy?: number, dw?: number, dh?: number): this;
    beginPath(...args: Parameters<GraphicsContext['beginPath']>): this;
    cut(...args: Parameters<GraphicsContext['cut']>): this;
    arc(...args: Parameters<GraphicsContext['arc']>): this;
    arcTo(...args: Parameters<GraphicsContext['arcTo']>): this;
    arcToSvg(...args: Parameters<GraphicsContext['arcToSvg']>): this;
    bezierCurveTo(...args: Parameters<GraphicsContext['bezierCurveTo']>): this;
    closePath(...args: Parameters<GraphicsContext['closePath']>): this;
    ellipse(...args: Parameters<GraphicsContext['ellipse']>): this;
    circle(...args: Parameters<GraphicsContext['circle']>): this;
    path(...args: Parameters<GraphicsContext['path']>): this;
    lineTo(...args: Parameters<GraphicsContext['lineTo']>): this;
    moveTo(...args: Parameters<GraphicsContext['moveTo']>): this;
    quadraticCurveTo(...args: Parameters<GraphicsContext['quadraticCurveTo']>): this;
    rect(...args: Parameters<GraphicsContext['rect']>): this;
    roundRect(...args: Parameters<GraphicsContext['roundRect']>): this;
    poly(...args: Parameters<GraphicsContext['poly']>): this;
    star(...args: Parameters<GraphicsContext['star']>): this;
    svg(...args: Parameters<GraphicsContext['svg']>): this;
    restore(...args: Parameters<GraphicsContext['restore']>): this;
    save(...args: Parameters<GraphicsContext['save']>): this;
    getTransform(...args: Parameters<GraphicsContext['getTransform']>): this;
    resetTransform(...args: Parameters<GraphicsContext['resetTransform']>): this;
    rotateTransform(...args: Parameters<GraphicsContext['rotate']>): this;
    scaleTransform(...args: Parameters<GraphicsContext['scale']>): this;
    setTransform(transform: Matrix): this;
    setTransform(a: number, b: number, c: number, d: number, dx: number, dy: number): this;
    setTransform(a: number | Matrix, b?: number, c?: number, d?: number, dx?: number, dy?: number): this;
    transform(transform: Matrix): this;
    transform(a: number, b: number, c: number, d: number, dx: number, dy: number): this;
    transform(a: number | Matrix, b?: number, c?: number, d?: number, dx?: number, dy?: number): this;
    translateTransform(...args: Parameters<GraphicsContext['translate']>): this;
    clear(...args: Parameters<GraphicsContext['clear']>): this;
    get fillStyle(): GraphicsContext['fillStyle'];
    set fillStyle(value: FillStyleInputs);
    get strokeStyle(): GraphicsContext['strokeStyle'];
    set strokeStyle(value: FillStyleInputs);
    /**
     * @param color
     * @param alpha
     * @deprecated since 8.0.0
     */
    beginFill(color: ColorSource, alpha?: number): this;
    /**
     * @deprecated since 8.0.0
     */
    endFill(): this;
    /**
     * @param {...any} args
     * @deprecated since 8.0.0
     */
    drawCircle(...args: Parameters<GraphicsContext['circle']>): this;
    /**
     * @param {...any} args
     * @deprecated since 8.0.0
     */
    drawEllipse(...args: Parameters<GraphicsContext['ellipse']>): this;
    /**
     * @param {...any} args
     * @deprecated since 8.0.0
     */
    drawPolygon(...args: Parameters<GraphicsContext['poly']>): this;
    /**
     * @param {...any} args
     * @deprecated since 8.0.0
     */
    drawRect(...args: Parameters<GraphicsContext['rect']>): this;
    /**
     * @param {...any} args
     * @deprecated since 8.0.0
     */
    drawRoundedRect(...args: Parameters<GraphicsContext['roundRect']>): this;
    /**
     * @param {...any} args
     * @deprecated since 8.0.0
     */
    drawStar(...args: Parameters<GraphicsContext['star']>): this;
}
