import { contextPtr_, native_ } from './Constants';
import type { GPUDevice } from './GPUDevice';
import { GPUTexture } from './GPUTexture';
import type { GPUAdapter } from './GPUAdapter';
import type { GPUCanvasAlphaMode, GPUCanvasPresentMode, GPUExtent3D, GPUTextureFormat } from './Types';
export declare class GPUCanvasContext {
    _type: any;
    _canvas: any;
    [native_]: any;
    [contextPtr_]: any;
    constructor(context: any, contextOptions: any);
    get context(): any;
    get contextPtr(): any;
    get native(): any;
    get canvas(): any;
    configure(options: {
        device: GPUDevice;
        format: GPUTextureFormat;
        usage?: number;
        viewFormats?: GPUTextureFormat[];
        colorSpace?: 'display-p3' | 'srgb';
        alphaMode?: GPUCanvasAlphaMode;
        presentMode?: GPUCanvasPresentMode;
        size?: GPUExtent3D;
    }): void;
    unconfigure(): void;
    private _currentTexture;
    getCurrentTexture(): GPUTexture;
    presentSurface(): void;
    getCapabilities(adapter: GPUAdapter): {
        format: GPUTextureFormat[];
        presentModes: GPUCanvasPresentMode[];
        alphaModes: GPUCanvasAlphaMode;
        usages: number;
    };
}
