/// <reference types="node" />
import { Rgba } from '../color/rgba';
import { Rect } from '../shape/rect';
export declare enum SDL_RendererFlags {
    SDL_RENDERER_SOFTWARE = 1,
    SDL_RENDERER_ACCELERATED = 2,
    SDL_RENDERER_PRESENTVSYNC = 4,
    SDL_RENDERER_TARGETTEXTURE = 8
}
export declare enum SDL_BlendMode {
    SDL_BLENDMODE_NONE = 0,
    SDL_BLENDMODE_BLEND = 1,
    SDL_BLENDMODE_ADD = 2,
    SDL_BLENDMODE_MOD = 4
}
export declare const SDL_TEXTUREACCESS_STATIC = 0;
export declare const SDL_TEXTUREACCESS_STREAMING = 1;
export declare const SDL_TEXTUREACCESS_TARGET = 2;
export declare function SDL_SetTextureBlendMode(texture: any, blendMode: number): any;
export declare function SDL_CreateSoftwareRenderer(surfacePtr: any): any;
export declare function SDL_RenderCopy(rendererPtr: any, texturePtr: any, src: Rect, dest: Rect): number;
export declare function SDL_CreateRenderer(windowPtr: any, driver: number, flags: number): any;
export declare function SDL_SetRenderTarget(rendererPtr: any, texturePtr: any): any;
export declare function SDL_GetRenderTarget(rendererPtr: any): any;
export declare function SDL_GetRenderDrawColor(rendererPtr: any, rgba: Rgba): Rgba;
export declare function SDL_SetRenderDrawColor(rendererPtr: any, r: number, g: number, b: number, a: number): number;
export declare function SDL_RenderPresent(rendererPtr: any): void;
export declare function SDL_DestroyRenderer(rendererPtr: any): void;
export declare function SDL_RenderClear(rendererPtr: any): number;
export declare function SDL_DestroyTexture(texturePtr: any): number;
export declare function SDL_RenderGetLogicalSize(rendererPtr: any): {
    w: number;
    h: number;
};
export declare function SDL_GetRendererOutputSize(rendererPtr: any): {
    w: number;
    h: number;
};
export declare function SDL_RenderGetIntegerScale(rendererPtr: any): boolean;
export declare function SDL_RenderGetScale(renderPtr: any): {
    x: number;
    y: number;
};
export declare function SDL_RenderSetScale(renderPtr: any, x: number, y: number): any;
export declare function SDL_RenderSetLogicalSize(renderPtr: any, w: number, h: number): any;
export declare function SDL_UpdateTexture(texturePtr: any, rect: Rect, pixels: Buffer, pitch: number): any;
export declare function SDL_QueryTexture(texturePtr: any): {
    format: number;
    access: number;
    x: number;
    y: number;
    w: number;
    h: number;
};
export declare function SDL_CreateTexture(rendererPtr: any, format: number, access: number, w: number, h: number): any;
export declare const SDL_RendererInfo: any;
export declare const SDL_Renderer: import("ref").Type;
export declare const SDL_Texture: import("ref").Type;
export declare const SDL_RendererInfo_ptr: any;
export declare const SDL_Window_ptr_ptr: any;
export declare const SDL_Renderer_ptr: any;
export declare const SDL_Renderer_ptr_ptr: any;
export declare const SDL_Texture_ptr: any;
